how can a couple of small weights hold up the revs?
If the bean can is at fault then the obvious part of the answer is the weights are sticking and allowing too much ignition advance.
The more subtle part of the answer requires an understanding of the impact of ignition advance on idle revs. Ignition timing at idle is 6 Deg before TDC and at full advance 32 Deg before TDC.
The key to the phenomena is to realise that 6 deg BTDC at idle is a compromise between easy starting and and a smooth idle. The most efficient amount of ignition advance at idle in terms of the power produced when there is no load on the engine is quite a lot more more than 6 Deg BTDC. What this means in practice is if you apply more ignition advance at idle the revs will rise without touching the throttle.
So if the centrifugal advance mechanism is not doing it's job and allowing too much advance as the revs fall then the engine is going to either hang up at higher revs or the revs will fall slowly.
The impact of ignition advance on idle speed was utilised by some electronic ignition manufacturers to provide an idle speed stabilisation effect.
If you look at this graph the amount of ignition advance actually increases if the revs for some reason fall below the desired idle speed range. This will tend to stabilise the idle speed by producing a little more power to push the revs back up again. Note that the advance curve is flat between 900 RPM and 1100 RPM which would be the normal range of idle speed settings. If the idle speed was set above 1100 RPM then there would be a potential for idle hang up.