If a form is not shown when App_Start ends the application closes. Showing a form, or running a FormEx if you are using my FormExDesktop library, starts the message loop for the application which then calls the applications event Subs as things happen. Without a message loop to run, the application - pedantically the applications main thread - terminates. A message box does run its own message loop to dispatch messages for the application while it is shown to stop the application totally freezing and to enable it to receive its own user input but this is temporary and it stops doing this when it is closed.
The blunt answer is that without a form being shown, or a FormEx run if you are using my FormExDesktop library, the application terminates at the end of App_Start.