Возможно, вы захотите использовать malloc_history, чтобы найти стек вызовов объекта по этому адресу. Во время работы вашего процесса выполните следующие действия в терминале:
malloc_history <pid> 0x36c4a0 # insert the address in question for the 2nd arg
Вам также необходимо включить MallocStackLogging (благодаря комментарию Куби, приведенному ниже).
Это может помочь вам понять, где находится объект по этому адресу.
Кроме того, вы отметили делегата как назначить, а не сохранить, однако, я думаю, что это подходит для делегатов. Тем не менее, если он был автоматически выпущен где-то еще, эта память может быть повторно использована.
Возможно, вы автоматически высвобождаете делегата и назначаете его? Что-то вроде:
delegate = [[[ConversionDelegateClass alloc] init] autorelease];
controller.delegate = delegate
Если это так, делегат будет освобожден в следующем выпуске автоматического пула, поскольку ничто его не хранит, и это место в памяти будет доступно для повторного использования.