When was the O2 sensor last changed, they are good for about 150k miles?
Fuel injection computers have two modes, Open Loop and Closed Loop
Open loop is when computer first boots up
Computer used air:fuel mix tables in memory to run the engine Rich, like carb did with Choke plate
Computer watches ECT(engine coolant temp) sensor to see when coolant gets above 140degF, computer also watches O2 sensor, doesn't use it, just watches it
O2 sensors can't work until they are heated above 600degF by the exhaust heat, with cold engine this takes a few minutes, and a minute or two even after a short shut down
When coolant gets above 140degF and O2 sensor seems to be switching voltage at least 6 times a second, computer will switch to Closed Loop
Closed Loop is when computer sets air:fuel mix on the fly based on O2 sensor feedback, i.e. is exhaust lean or rich
So in closed loop computer relies on MAP sensor, ECT sensor and O2 sensor to adjust air:fuel mix
It reads like this switch from Open Loop to Closed Loop is when you have the problem
Now it could be a computer issue, so nothing you do externally will correct it
But you could try changing O2 sensor if you don't know how old it is, O2s use a chemical reaction so they wear out, and changing them improves MPG over the next 150k miles so not a bad investment.
Changing ECT sensor is not expensive, this sensor is only used by the computer, there is an ECT SENDER also on the engine, and that is used only for the dash board temp gauge.
ECT sensor is 2 wire
ECT sender is 1 wire
Air:fuel mix is based on engine temp so if ECT sensor was showing 120degF(rich mix) and then suddenly jumped to 180degF(lean mix) engine would stumble
ECT also uses 5volt scale, 3volt cold, under 1volt warm, so any corrosion on the wiring/connector could cause similar issue