Nice article on unhandled exception handling 🙂
CLR Inside Out: Unhandled Exception Processing In The CLR

In the case of Figure 3, if the CLR can’t find a managed exception handler in Main, the exception will reach the native frame within the CLR where the thread started. In this frame, the CLR has established an exception filter that will apply the policy to swallow (which is semantically equivalent to blindly catching) exceptions, if applicable. If the policy indicates not to swallow the exception (which is the default in the Microsoft® .NET Framework 2.0 and later), the filter triggers the CLR’s unhandled exception processing.