Silicone spray/with Teflon. I found, along with a number of others who used to use WD40 on guns that it hardens into a shellac that freezes things to each other. WD40 is generally considered a degreaser and not a lubricant. Ever wonder why they say to use it to remove oil stains from something, usually your driveway?
From a site on why WD40 is not a lub
"WD-40 isn't actually a true lubricant. WD stands for "water displacing" and its main use is as a solvent or rust dissolver.
The lubricant-like properties of WD-40 come not from the substance itself, but from dissolving components. And the effect doesn't last.
WD-40 can be a good substance to start with — it can help clean up rust or other grime. But depending on what you're working with, you should probably follow up WD-40 with use of a true lubricant such as one based on silicone, grease, Teflon, or graphite."