Hi there,
Not long time ago, I fixed two codes (P0171 and P0421) on my on 97' Mazda 626. Problem was rather simple, I was searching for vacuum leak but it was caused by some idiot, who tampered with air mass flow meter, which was not faulty but one of the bottom screws was missing leaving about 8mm big hole, which caused leak, complete miscalculation of mixture, too lean system and choking when accelerator was pressed.
After I replaced that screw, everything went normal, check engine light went off and after 2 days I passed pennsylvania state inspection.
Engine was running smooth and fine. choking disappeared. But after 2-3 weeks, the check engine light went ON again. I said something I prefer no to repeat here

, and decided that on weekend I'll go to autozone to do diagnostics. But before weekend came, after 2-3 days, the light went off by itself, without my interaction.
Now, it's in the state that it goes on and off every now and then, usually after 2-4 days. Without any particular reason, and without any visible problems for car or fuel efficiency. Gas mileage is OK, it makes about 28-30 mpg on freeway and 24-25 city, which is not bad for 10 years old car with 107k Miles.
I found that current code is P0136 which probably means (P0136--Oxygen Sensor Circuit Malfunction). If it is like that, why is comes and goes? why after 2-3 days? Due to humidity, weather, vibrations? If it is broken wiring, how can I found it, it would not show up if it will be in 'healthy' state, right?