В общем случае, есть такой аппарат, как матрица трансформирования (TRS). В частности матрица поворота. И у трансформа есть такая матрица, более того, уже посчитано направление вперёд, относительно глобальной системы, и лежит в https://docs.unity3d.com/ScriptReference/Transform...
Сделай эту свою переменную get/set и смотри в отладчике кто там её ещё меняет.
Ну а вообще логика тут плохая: если хоть один тебя не дамажит, то никто не дамажит.
IDisposable служит для реализации освобождения каких либо ресурсов. Сам по себе он к термину "неуправляемых ресурсов" отношения не имеет.
Создавать в Update его практически не имеет смысла, ты не сможешь им что либо отменить.