The reason it HAS to be an infection is simple: you add a finite amount of sugar, the yeast consumes that sugar to produce the desired volume of CO2 for carbonation. That sugar is consumed relatively quickly, and completely, if you are able to enjoy properly carbonated beer for the first couple months.
If after 3 months it's starting to become overcarbed, gushers, etc. then whatever else was in the beer at bottling has started to consume unfermentables, to produce more gas in the bottle, leading to the aforementioned problems.
Steps to guard against infection:
- Never use stiff bristle brushes or scrub pads on your plastic fermentation items. They can cause scratches which can harbour bacteria, and other unwanted guests. In the same vein, take a close look at your plastic/rubber fermentation items for scratches. Consider replacing things that show signs of scratching.
- Give everything a good PBW/OXY soak, followed by a rinse, and a strong bleach water soaking, then a rinse and a starsan wash before use.
- If you're using harvested yeast, consider replacing whichever yeasts have produced beers with issues after 3 months, your harvested yeast might be contaminated.
- Try to isolate your grain grinding/prep areas from where you transfer to fermenters, etc. Grain dust is a good vector for lacto.
- Use a spray bottle for starsan, spritz everything that comes into contact with your wort, or your yeast. Including the outsides of vessels, packages, etc.
- If you use a counterflow chiller, give it a heat sanitizing with some boiling water, starsan may not work if there's some gunk trapped in it.
- Never add anything (except hops) that hasn't been boiled to your fermenter.