My BMW 335i has been the most problematic car I’ve owned

Towed 335i

Looking back at my repair history, my brand new, German engineered, BMW 335i has been the most problematic car I’ve owned. My repair history follows:

On 05/01/2009,
Problem: Brake lining light comes on and goes off at times.
Fix: Steering angle sensor and/or steering column switch cluster

On 07/06/2010,
Problem: Rough idle. Check engine light is on.
Fix: Replace all injectors, coil, and spark plug of affected cylinder

On 09/23/2010,
Problem: Rough idle. Check engine light is on.
Fix: Replaced intake vanos solenoid.

On 12/20/2010,
Problem: Erratic idle. No power on acceleration. Check engine light is on.
Fix: Replaced high pressure fuel pump. Removed Dinan software due to bug.
Bonus: Car was dinged at shop. Fixed by BMW.

On 01/14/2010,
Problem: Erratic idle. Check engine light is on.
Fix: Replaced 3 injectors.

On 02/15/2010,
Problem: Clock keeps resetting due to low battery.
They did not fix the battery. However, a new version of the Dinan software was available, so they reinstalled the Dinan software.

On 07/28/2011,
Problem: Car would not start. Had to be jumped.
Fix: New battery.

12/09/2011
Problem: Remote battery low. Intermittent seat belt light stays on.
Fix: Replaced remote battery. However, did not reproduce and fix the seat belt issue.

On 01/19/2012,
Problem: Check engine light is on.
Fix: Replaced Vanos solinoids.

On 02/07/2012,
Problem: Check engine light is on. Car stalled on interstate.
Fix: replaced 3 injectors.

On 01/09/2013,
Problem: Engine overheats and shuts off.
Fix: Replace water pump, thermostat, overflow tank

I’ve also had a couple of problems that have never gotten fixed. The remote door lock/unlock is rather flakey. I think that the car does not always recognize that the key chain is next to it. So, when you try and lock or unlock the car door from the handle, it does not work reliably. Also, the garage door opener on the mirror will only work if my car is almost touching the garage door. And then only if I hold the button for a while. Sigh.