Очевидно, что что-то отправляет сообщение об освобождении или освобождении.
На вашем месте я бы создал глубокую копию, например:
NSItem * ref = [[NSItem alloc] initWithData: x];
Что касается выяснения того, что происходит с данным элементом, я предлагаю вам использовать NSZombie в качестве переменной env в качестве шага по стеку вызовов, чтобы увидеть, где его освободили.
Удачи!