Remembering the year's old G-III tread on RFF, Canon used shims to fine tune the flange distance of the lens. Either careless assembly at the factory, or 30+ years of use can cause the register to be off. One of the guys on the RFF thread was quite adept at DIY repairs. He removed the lens from the camera and re-shimmed it. Made a world of difference.
This is from memory, so I can't offer much more. My G-III is great wide-open so I assume I got one of the good ones.