The only time mine was running rich was when the coolant temp sensor was damaged. It still read ok and present but when the engine had warmed up by the gauge it still was sending a cold signal to the ECU. Replaced it and all was good.
Something to check.