sounds like timing chain stretched or a timing issue where the oil thick when cold and thins to much when gets hot this can effect the vanos timing and add to it,, as you have 02 sensor codes another sign of timing stretch,, ie chain stretched causes retarded timing this means engine dont breath correctly and causes heat build up that also hurts the upstream 02 sensor and cat,, rule of thumb on those engines is treat timing chain like a timing belt ie change every 60,000 miles,, also always keep engine oil on full mark on dipstick ,,,
so it needs live data with daignostics tool, read the vanos positions, and timing,, or measure the travel on the chain tensioner,, that said if chain has not been done within 60k this must be your first job ie fix the reason for the 02 faults and cps faults ie crank and camshafts timing fault,, so many people get this issue and just treat the out come ie the outcome is dead 02 sensors dead cat dead valve stem seals and at worse and believe me i have seen these engines with 18000 miles before chain slipped and big engine damage,, sounds like you need to use a garage that knows these engine a bit better as they would of told you straight what they all do its not a if or a few dont its all of them at some point
so it needs live data with daignostics tool, read the vanos positions, and timing,, or measure the travel on the chain tensioner,, that said if chain has not been done within 60k this must be your first job ie fix the reason for the 02 faults and cps faults ie crank and camshafts timing fault,, so many people get this issue and just treat the out come ie the outcome is dead 02 sensors dead cat dead valve stem seals and at worse and believe me i have seen these engines with 18000 miles before chain slipped and big engine damage,, sounds like you need to use a garage that knows these engine a bit better as they would of told you straight what they all do its not a if or a few dont its all of them at some point