This is no bug it?s just he machanic from Wait.
I got this problem also some weeks in front of you, and Ashley tried to help me unstand Wait. This is what i understood:
It saves your actual time stamp and add to this X seconds, lets call this time stamp Actiontime. As soon as the realworld time hit Action Time the Events get fired. Cause you do this in a loop you save X Actiontimes and their Events. Now you open a Pop-up, you think your game doesn?t run forward but the Real World time does it.
So after you leave the Pop-up Construct ask something like if actiontime > timestamp(real world time) fire Events. And yeah cause this is true at multiple Actiontimes it fires instead multiple Events.
I?m not sure how to fixx your problem, for that I would need an example .capx. Than I will try it.