Освобождение объекта просто помечает память, которую он использовал, как доступную для повторного использования для других целей.Он не перезаписывает его нулями или чем-то подобным.В вашем примере вы не создали никаких новых объектов, поэтому ничто не имело возможности повторно использовать память, ранее известную как «m».
Вот почему это обычный шаблон для освобождения объекта и присвоить указателю nil, чтобы предотвратить случайное повторное использование недопустимого объекта:
[m release]
m = nil;