deleteRowsAtIndexPaths: deslizar para eliminar filas nunca desasigna la celda?

Me pregunto si de alguna manera he tropezado con un error en el que deslizar para eliminar UITableViewCells nunca se desasigna cuando su UITableViewController hace.

Agregué un método –dealloc en mi celda de tabla personalizada, que desconecta un post. Cuando presiono nuevamente el controller de navigation, los 6 posts se desconectan.

Si deslizo para borrar uno (o más), y presiono hacia atrás, solo se registran 5. Por lo tanto, desconecto la dirección del puntero de la celda que se ha eliminado, para reference futura. Ahora, cuando vuelvo y detengo la ejecución en cualquier punto, puedo ingresar al indicador lldb:

 po 140382950334240 <TableLeakCell: 0x7fe67852a490; baseClass = UITableViewCell; frame = (-375 176; 375 44); text = 'Chris'; hidden = YES; autoresize = W; gestureRecognizers = <NSArray: 0x7fe678530d70>; layer = <CALayer: 0x7fe67852a860>> 

¡Esto debería haber sido desasignado! La position x.position de la celda es exactamente -(tableView.width) , y hidden=YES . Como en la celda todavía está en la position después de que la animation haya terminado. ¿O tal vez se está haciendo queue para su reutilización? De cualquier manera, está ahí para siempre, y no hay nada en la documentation de Apple sobre tener que destruir manualmente una célula después de llamar a deleteRowsAtIndexPaths.

Proyecto de testing rápida de concepto aquí: https://github.com/iOSDigital/UITableViewLeak

Al less con Xcode 7.2/iOS 9.2 Simulator y Xcode 7.3/iOS 9.3 Device todas las celdas se desasignan. Solo el cambio es el order de la desasignación, la desestimación de la célula eliminada es la última desocupada.