'Wait' and "Wait for signal' are well explained : https://www.scirra.com/tutorials/56/how ... ait-action
From the eyes of the creator. What's in it for us 'developers' ? Well.
'Wait' and "Wait for signal' are in base the same actions. Only the 'end of postponing' is different.
Both POSTPONE the following (next) actions EVERY TICK that they are executed. While postponing, the only thing that they remember is the picked objects.
Let me show you this in a simple example.
https://www.dropbox.com/s/v7y1jx91uptoc ... .capx?dl=0
In this example, the 'Wait for signal' is executed every tick. Each tick that is executed, it postpones that action that is changing the position.
When Space is pressed, the 'Wait for signal' will execute ALL the times that it is postponed in PREVIOUS TICKS.
Hence, it moves the Sprite not once for 1 pixel, but 'tickcount since last spacepress' times 1 pixel.
The same is happening in your project. Each tick when those parent conditions are true, 'Wait for signal' is postponing those actions. When signal is given, all those actions execute once for each tick that the 'Wait for signal' postponed them. So, several (countless) times in a row.