3.2 Application Termination
Application termination returns control to the execution environment.
If the return type of the application’s entry point method is int, the value returned serves as the application’s termination status code. The purpose of this code is to communicate success or failure to the execution environment.
If the return type of the entry point method is void, reaching the right brace (}) that terminates that method or executing a return statement that has no expression results in a termination status code of 0.
Prior to an application’s termination, destructors for all of its objects that have not yet been garbage collected are called, unless such cleanup has been suppressed (by a call to the library method GC.SuppressFinalize, for example).