WD40 is garbage, it was never designed for use as rust prevention, it's a part cleaner, and a poor one at that. Use 100% silicone spray.
1. it's a G&P, they're designed to rust like that.
2. after a wet game, blow the gun off with compressed air, shoot a light coat of 100% silicone spray on it, then blow that off. It won't displace the water, which is why you have to blow the water off, but it will protect any exposed surfaces. Blowing the silicone oil off doesn't remove it all, it just prevent the gun from being sticky and oily.