Solo quiero agregar mi experiencia además de la respuesta de Quinn Taylor.
En una de mis aplicaciones, tengo que analizar y guardar datos en objetos de datos centrales y luego hacer que estos objetos se muestren en las vistas. De hecho, la aplicación funciona bien y no se bloquea en absoluto, hasta que intenté hacer una prueba de esfuerzo de navegar de un lado a otro varias veces, intenté abrir varias vistas lo más rápido posible. La aplicación se bloquea con el mensaje anterior.
Probé todos los métodos que sugirió Quinn en su respuesta y aún no pude averiguar dónde estaba la causa exacta.
Configuré NSZombieEnabled = YES y NSStackLogging = YES, ejecuté el comando shell malloc_history para averiguar por qué, pero aún así no tuve suerte. Siempre señala dónde guardo los datos en objetos de datos centrales, de hecho, he verificado miles de veces los objetos liberados allí, nada extraño.
Ejecutar instrumentos con varias herramientas (asignaciones, fugas, etc.) todavía no ayudó. Habilitar al guardia Malloc todavía no tiene nada.
Rescate final: traté de volver a las vistas donde los objetos se tomaron de Core Data y envié un mensaje de retención a todos estos objetos, y tomé nota de estos cambios. ¡¡¡Resolvió el problema !!!
Entonces, descubrí que no pude retener uno, esa es exactamente la causa. Solo quiero compartir mi experiencia para que tengas otro rescate para tu aplicación.