Another way of doing it: set wait to 1+loopindex*1. This method skips some objects if there are too many so I have a destruction array.
Destruction Array:
When the game ends do an ordered loop for each tower(I usually choose tower.y ascending) and write each tower's UID and time of destruction.
set destructionarray(loopindex,0): Tower.UID
set destuctionarray(loopindex,1): time+1+loopindex
after creating the array you can:
Compare at XY (0,1): whever this value is smaller than time(the system expression) destroy the tower with UID destructionarray(0,0) and delete this array value. When your array has 0 values the game ends.