'Wait' at the end of an event does nothing! Have you seen How to use the 'Wait' action?
'Wait' causes a delay then it carries on running from when it left off. If 'Wait' comes at the end of an event it means 'Wait this amount of time then do nothing', so it has no effect.
I guess you're confused because it's in a loop, but that doesn't make it wait between each loop iteration - instead it schedules waits in parallel, e.g:
+ Repeat 10 times
-> Do something
-> Wait 1 second
means "Do something then wait 1 second and do nothing, 10 times in a row". Events keep on running during a 'Wait' so the rest of the loop carries on running.
I'm not sure what you mean in your second example though, can you maybe reproduce it in a new empty project?