Throwing forward usually means it's cycling too fast. Doesn't have to mean unreliable, my old race gun is probably the most reliable AR I've owned and it throws them all forward.
(and nothing is Mil-Spec, nothing is torqued, nothing is staked... I'm a dead man.)
Heavier spring might slow the reward travel. Also speed up the forward travel, might negate the change or make it worse. lol
Turning down the gas should do it. Heavier buffer could/should too as stated.
This should be kept in mind. Lots of guys get it in their head that a properly tuned/gassed AR is going to shoot softly. I have one setup like this. Carbine length buffer tube running a standard weight buffer and spring and gassed so that the bolt will lock back on an empty magazine with the weakest ammo that I shoot. It shoots very softly for what it is, but I do have to keep up with some sort of maintenance, even if it's only lubing it every 400 rounds or so to keep it running when it starts to get dirty.
For something that needs to keep running, there's nothing wrong with running a system that requires more gas to run it, although it won't shoot as softly. It will handle being dirty better.
Something along the lines of an H2 buffer, with maybe a bit of a heavier spring will power through crud for a good bit longer than a rifle tuned to shoot as softly as possible.
The term "over gassed" actually refers to a situation where there is insufficient closed bolt lock time. The bolt starts to open too soon. This results in case heads getting beat up or ripped off entirely, or stuck cases (you see this a lot with steel cased ammo).
Generally, you control closed bolt lock time by adjusting the weight of the carrier/buffer and the amount of gas going through the system. You're looking for that happy medium.
This is why i avoid going with heavy springs. In some cases, you can have your rifle's closed bolt lock time right, but have to feed more gas to run the spring. It will give the illusion of being properly tuned (because of the ejection pattern), when in fact, you are over gassed. Springs will have an effect on bolt velocity and ejection pattern, but little to no effect on closed bolt lock time.
I guess the bottom line is that you don't tune for an ejection pattern. Use an in spec buffer (H1 or H2), with a milspec (or close, like sprinco hot white or blue) spring and tune to proper lock back on an empty magazine.
Of course, there's are nuances when you aren't running an adjustable gas block, but the general principal still applies. If you aren't running an adjustable gas block, then you just tune with buffer weight.