I will try to list the specific causes of a flickering oil light:
-An overheated engine with thinned oil (like Xain says).
-Low engine oil level (an obvious cause that may be overlooked!)
-A faulty oil pressure guage sender! Good idea to replace it if every other thing seems OK and has been checked.
-Faulty oil pump (rarely happens as oil pumps are pretty sturdy equipment on a VW engine). Still better to check as xain did. The inspection plate can be removed for taking a look at the pump gears.
Note:While going for a full rebuild its a good idea to put a 1500cc engine pump on your 1200 or 1300cc engine. It fits easily though it has holes for 8mm bolts as opposed to 6mm for the smaller engines.
-A low idle speed. The idle speed on a VW engine should be 850rpm and NOT lower. Mechanics will set it to as low a value as possible, even 500rpm, for the sake of saving fuel. They are very wrong in doing this for two major reasons:
First, while driving, whenever the car stops at a red light and one lets go of the accelerator, engine cooling is compromised since its directly proportional to the fan speed which is driven by the crank and thus the idle RPM.
Second, the carburetor tuning is not optimum when set at idle rpms of any less than 850. So in fact you end up wasting more fuel than the mechanic had promised.
-Clogged oil cooler or oil galleries in the crank case. Already pointed out by Storm. This may happen on badly maintained engines. If you have bought the car recently, especially with a shady history you can suspect this.
Oil coolers should not be bought second hand especially if they come from a siezed engine. It may contain metal particles which would then circulate in your own engine and cause mayhem.
Oil coolers can be flushed with solvent as storm suggests. It is possible to take out the oil cooler with the engine on the car. Not sure about the post 70-71 'doghouse' style fanshroud engines, but on earlier engines its definitely possible as I have removed the fanshroud on my 68 with the engine in the car.