MKMapView initWithFrame no libera memory con ARC

He estado usando instrumentos para encontrar asignaciones que no se están lanzando correctamente. Tengo MKMapViewDelegate que agrega un map a través de un método de instancia después de haber sido instanciado. Puedo ver en el tree de llamadas que este método sigue conservando aproximadamente 300 KB de memory, después de que se libera ViewDelegate. Comenté la carne del código y todavía conserva la memory con esta línea:

self.map = [[MKMapView alloc] initWithFrame:CGRectMake(10, 210, 300, 125)]; 

Miro en la list de objects y el MKMapView en sí no está vivo, pero mientras sigo creando nuevos ViewDelegates, esa memory sigue sumndo. Así es como se define el map:

 @property (strong, nonatomic) MKMapView *map; 

El delegado del map está configurado como nil, así como también la reference en el desarme local de ViewDelegate

 self.map.delegate = nil; self.map = nil; 

Una vez que configura el delegado en nil, ya no hay pointers, y iOS lo lanzará cuando lo desee. iOS no puede liberar la memory inmediatamente después de configurarlo a cero.

Recuerde que está eliminando el puntero configurándolo a cero, pero el object aún permanece en el montón, básicamente sin hacer nada, hasta que otra cosa se asigna allí.

(Estoy suponiendo que también eliminó el MKMapView de su supervisión utilizando [self.map removeFromSuperView] ).