This really comes down to the fact that GM charges A LOT less for their cars than BMW, and if you want BMW quality, you have to pay for it. And I always follow the rule that a car can definitely last if the owner takes good care of it. Take this for instance....you know the shitty aluminum/titanium trim crap on the G35 Coupe (it's shitty, but it looks nice and I love it)? Well, I can have the whole trim replaced from the dealership for no more than like $40-$50. The trim scratches very easily and is basically not very durable but after almost 12K miles on my car, my whole interior still looks brand-new....and it will continue to look brand-new for the duration of my lease (39K miles).
Granted my car has better build quality than your average GM, my point is that as long as you respect the car and take care of it (I clean my interior once a month and clean & condition my leather every 6-8 weeks) and you can live with the quality of the interior, it can last for as long as you're willing to keep it. And if you take good care of the engine and the rest of the car, it should give you miles and miles of service. Although I have a feeling that if you abuse a GM and a BMW, the BMW will still last a lot longer. Unfortunately, 95% of people take their cars for granted and the GM build quality can't take it and that's why you see so many GM's in early retirement