local unit u
local unit w
к чему это? либо я что-то не заметил, но 2 переменная вообще не используется, в первой тоже смысла не вижу присваивать локальной и потом опять глобальной.
Target point of ability being cast
создай переменную локация(location) присвоей ей Target point of ability being cast, далее используй ее, затем custom script: call RemoveLocation(твоя перменнная)
тоже и с Position of caster2 с группами аналогично создай переменную group присаивай ей Units Group - Pick every unit..... после того как использовал custom script: call DestroyGroup(твоя переменная)
это по утечкам, дело врятли в группах или локациях, т.к. их слишком мало для таких зверских лагов, чего я не понимаю смысл удалять 1 юнита когда ты выбираешь всех вокруг в радиусе 500 и анпаузить юнитов, кто уже в паузе не находится
попробуй так
Units Group - Pick every unit in (Units within 500 of (тут желательно использовать переменную локацию, но можно и так) and do action
- Animation Change....
тут конец группы
далее только пишем
Remove caster2 from the game