They have a rather weak design for the way that rotating control knob controls the electrical contacts. I disassembled mine completely and tried to clean up the contacts (copper) and bend them a little to make better contact. It was a little better but still flakey.
So, I soldered a jumper across the contacts that cause the time-delayed light turn-off. Now that works solidly. Of course the OFF position doesn't work any more. I can get the light to turn ON in the manual always-on position with a slight bit of switch finesse.
So for me I have my solution with the soldered jumper. I don't need the fully OFF position very often, since I'm not trying to sneak in and out of my car.

But if I do then I'll pull the power lead off the light.
[refers to the 1984 300SD]
Ken300D