Let me help you with that one. What makes the most sense is to do some 'tests'. I would only recommend randomly replacing stuff if you exhaust all your testing options and still can't track down the problem... randomly replacing bits is the absolute last resort.
Test for exhaust leaks by partially blocking the tailpipe (being mindful to create the restriction safely and securely, so whatever you're using to partially block the exhaust doesn't get shot out the pipe like a cannonball). Don't seal up the tailpipe completely, just enough to restrict the exhaust flow and allow some pressure to build up in the exhaust system... this will help you find even the smallest pinhole.
Test for intake leaks by smoking the intake. You can take the vehicle to a workshop which has a smoke machine and have them smoke the intake for you... or if you're on a tight budget, you can smoke the intake yourself by purchasing a cheap cigar and filling the intake with smoke that you've made yourself.
Test for leaking injectors by swapping the injectors bank to bank and do another log.... see if the rich bank stays the same or follows the injectors.
When you do logs... make sure you log for misfires. Oxygen in the exhaust from a misfire will make the O2 sensor read lean. Sometimes misfires don't occur all the time, only under certain conditions... so don't rule out misfires until you've logged for it.