@Lupo The loop triggers events instantaneously, so it doesn't wait until the behaviors under it are done executing like Kamdroid said.
The wait behavior would execute once because every time it's executed, it interrupts its previous instance - it's like resetting a clock every time it executes.
The way you would achieve something like this is to connect the behaviors from the bottom to the top so it makes a loop. When you want to stop the loop, use the Behavior Off behavior to interrupt the chain of events.