Übrigens, in meiner in Xcode erstellten App, die bereits in 3. Version in der App Store ist erstelle ich gleich mehrere Observer, darunter für Reachability und BatteryStatus, die niemals wieder entfernt werden. Trotzdem gab's bis jetzt keine Problem mit Apple. Kann dass vielleicht mit ARC zu tun haben? Vielleicht werden die Objekte überprüft, ob irgendwelche Observer festgelegt wurden und entfernt diese, bevor das Objekt gelöscht wird.
Die Apple Review basiert eher auf Lotto als auf harten Fakten
ARC entfernt den Observer nicht. Jeder Observer der erstellt wird, muss an geeigneter Stelle wieder entfernt werden.
Wenn Du einen Observer in "init" oder "viewDidLoad" erstellst, musst Du "dealloc" überschreiben und dort den Observer mit "removeObserver" wieder deaktivieren. Im überschiebenen "dealloc" darfst wegen ARC aber keinesfalls "super.dealloc" aufrufen. Sonst kracht es.