Когда вы выполняете релиз , счетчик использования в объекте уменьшается.Если счетчик использования уменьшается до нуля (поскольку он не «одновременно» принадлежит какому-либо другому коду или структуре данных), пространство кучи, занимаемое объектом, помечается как доступное для повторного использования.
Когда выделяется новый объектвыполняется поиск в куче фрагмента подходящего размера для многократного использования, и если ваш недавно освобожденный фрагмент найден первым, который соответствует требуемому размеру, это хранилище снова помечается как «используемое», а ваши старые данные перезаписываются новым объектом..
Обратите внимание, что это означает, что если вы отпустите объект слишком рано, вы все равно сможете использовать его некоторое время, но он может в любой момент внезапно перейти в "пуф" ипревращаться в совершенно другой объект, вызывая загадочные ошибки.