I've had O2 codes before and each time it was something else... My CEL light has been blinking for quite sometime and it was always something else.
In the last year and a bit I was getting O2lean codes, egr codes, IMRC codes....
I've cleaned my EGR passages at the TB
Cleaned the UIM and LIM which in retrospect was not nescessary
Replace the IMRC vacuum solenoid (as it was toast)
Repaired a small vacuum leak
Just replaced the EGR pressure sensor which sits beside the IMRC solenoid...
I think when your EGR pressure sensor starts a slow death it can throw some erroneous codes your way.
To date, I have way better mileage, No lean codes, better yet, no CEL's at all... and I've never replaced my O2 sensors....
Start with cheap fixes and move your way up.