Just to further explain what were happening with your code...
You were telling the program to check for each instance of Sprite_painting if the hangingProgress was higher or equal to 100, and if that condition was met it was executing the Trigger once for that particular instance. Then, when you executes the code a second time the program checks all instances again, BUT this time, because Trigger once was already called the program ignores it and you get an "infinite loop".