An unscientific thought: I have heard that WD-40 displaces water by absorbing some of it and floating it off the metal surface. When then left in place, that small concentration of water can cause rust. I don't have any direct experience with WD-40 causing rust, because I don't want to chance it.
I use WD-40 as a water remover on guns that have been caught in the rain, BUT I then use a liberal bath of Ed's Red to remove the WD-40 before wiping that off, before a light coat of Mobil 1. Perhaps this is overkill, but it works, and I don't want to mess with success.
3 in 1 is a good product, but it can dry and harden over the long haul. The previous owner of one of my 336s used 3 in 1 in the bolt, and the firing pin became sticky. A soak in Ed's Red cleaned it out.