Tutorial: wait action
This is not a bug, the wait action is working as intended.
The way C2 reads your code is :
Every rendering frame:
.. Is red ball on screen ?
.... If it is, wait 2 seconds, create 4 balls and destroy the red ball.
And so, for the 2 seconds of "delay" you're expecting, each frame, there will be 4 more balls created, etc...
You made some kind of loop that is memorizing a sequence of actions to do, and will do it once the timer is done.
The fact is that since the wait action is the first, you'll have some kind of infinite loop going on.
I suppose you're trying to have some delay between each ball you create ?
Prefer using variables to make a kind of timer.
You can check this topic and the capx I give as example it might be closer to what you are willing to do.
Also I noticed you asked a few beginner questions/notices/suggestion, did you read the beginner's guide tutorial or Where to start ?