Your battery may be slightly on the older side. I have had batteries do this after they're a few years old in Arizona. You're kucky to get a battery to last 3 years here. BMWs do have some electronics that operate when the car is off, but not enough to drain a battery in good condition.
I always recommend Optima batteries for people in Arizona. I just replaced one that was 5 years old.