165 is too low of a t-stat for a FI motor, odds are the ECM is thinking it is in warm up mode most of the time.
if the the exhaust leak is before the O2 sensor, the O2 sensor wouldnt get a correct reading and try to dump extra fuel in the mix because it is thinking it is running lean.
also carbon buildup on the O2 sensor could also cause a poor reading and dump extra fuel in the mix. i am a firm believer that an O2 sensor has 3 levels of working...working, not working, and somewhere in between, an area that wouldnt throw a code to the ECM because its range isnt in left field but off enough to make it run poor but not throw a code.
carbon buildup will get hot enough till it is glowing, thus it could be causing the mixture to fire before it is supposed to. on carbed motors you would also notice the engine dieseling when you turn the engine off, but since it is FI, there would be no fuel to keep going in the engine.