The brake rotors on your BMW are made of cast iron. Cast iron rusts. You will never be able to rid your brakes of rust. The reason the rotors are cast iron is because cast iron has a unique property that once rust forms on its surface it stops more rust from occurring underneath the surface rust. Cast iron is the common chosen material for brake rotors specifically because it has this property, which is why brake rotors can last for many years without "rusting out" before the brake pads are fully consumed.
In other words, your brake rotors are behaving as designed. Leave it be.