It does not really do anything bad in the sense of crashing the computer or corrupting data. What it does is to make the user interface completely unresponsive. This is basic dataflow. Any node (loop, function, subVI,..) may begin to execute only after data is present at all its inputs. And a loop will not complete its execution until all nodes inside it have completed. If the user wants to stop the program, say, because the wrong parameters were entered, the program would not respond to a stop button until the subVI completed.
Event structures are powerful tools for creating versatile and responsive user interfaces. Typically they are used only for the GUI and they just send commands to the "working" code which runs tests, collects data, or whatever. That working code is running in parallel and neither part causes the other part to wait.
Lots of people who use LabVIEW are not formally trained programmers. However, to write effective programs in LV (or any other language for that matter) you have to understand how the language does things. If you have not done so, go through the LabVIEW tutorials. I think you will find it time well spent.
Look at the Producer/Consumer Design patterns found in the file menu at New.. >> VI >> From Template >> Design Patterns ... ( I do not have LV open, so the path may be slightly different.)
Lynn