The spell leaks, is poorly designed and overall I would say should be totlly remade.
Do not use BJs when there are natives avaiable.
Try using locals as well.
What I think is happening is the triggering unit native cuts out and so it breaks, or you think waiting in loops functions in some funky way. Waiting in loops causes it to loop, wait then loop, wait etc until the end of the loop one loop at a time. It will not create umpteen parralel threads for each loop.