I had the same issue. Turned out that the O2 connector would periodically rest against the header collector, melting the plug to expose enough wire to touch & throw a code. The O2's were ugly when I removed them. Even with only 12k miles at that time.
Zip ties are my friend