535i M30 engine: Engine runs rich (worse at idle). The disconnected O2 reads 0.02V saying super lean. Engine light is on: "O2 problem or to lean or too rich condition"

- Changed O2: same reading. Changed it again, same readings
- Changed injectors
- Changed distributor rotors and cap
- Checked continuity on the O2 wires to the DME and any grounding
- Checked all the vacuum hoses
- Checked coolant sensor
- Changed the Air Flow meter
- Cleaned ICV
- Changed Air filter, spark plugs, did oil change.
- Changed catalytic converters.

Car runs great other than that.

- Will adjust the valves and spaks plug gap, and try to fix the little exhaust leak near the O2 sensor.

Soooo, what did I miss? Why would the O2 read a lean condition all the time? And sending wrong info to the DME. Pulled a spark plug it was black because DME sends more fuel...