Я не вижу ничего, что выскакивает из вашего кода. Однако ответ Падии на правильном пути. Обработку ввода с помощью мыши, когда вы хотите взаимодействовать с объектами, лучше всего выполнять из этого объекта / префаба. Таким образом, вам гарантируется взаимодействие только с этим объектом. Если нет, то, вероятно, с вашим кодом что-то еще происходит.
К сожалению, для меня уже немного поздно разработать полное решение. Но вот возможное решение.
Вставьте в код префаба функцию OnMouseDown. В этой функции проверьте, запущен ли таймер двойного щелчка. Если нет, установите флаг, чтобы сообщить префабу, что необходимо запустить таймер двойного щелчка (назовите его WaitingForTimerStart). В качестве альтернативы вы можете использовать перечисление для хранения состояния таймера. В любом случае, пока не запускайте таймер.
В коде префаба вставьте функцию OnMouseUp. Это должно проверить, установлен ли флаг запуска таймера (WaitingForTimerStart). Если это так, установите другой флаг таймера, чтобы он запускал таймер (RunTimer).
В функции обновления префаба запустите таймер. Я уверен, что вы знаете, что здесь делать.
В функции OnMouseDown префаба (той, которую вы добавили ранее) проверьте, работает ли таймер. Если это так, то вы знаете, что был выполнен двойной щелчок. Уничтожьте объект.
Таким образом, нет необходимости проверять имена, использовать raycasting или сопрограммы. У каждого объекта будет свой таймер, и они будут полностью независимы друг от друга.