Unless there is a blocking function or Wait(), etc. inside the while loop, while loops should not be causing a blocking effect. Even if the loop is very intensive that some certain systems cannot do all the operations to complete the loop in one game frame's time the game will just pause at the current frame without advancing to the next frames (this could be very noticeable especially when you do a noloopcheck loop with very demanding computations) causing a lag.
So, if your game appears to be "blocked" (so that the game's frames are still being advanced, such as background frame animation playing and repeatedly_execute_always() still functioning) it should not be caused by a while loop solely.
Could it be other events or modules you use inyour game that cause these blocks?