If I have a console application with code like:
using (DisposableObject object = new DisposableObject()) { if (a condition) Environment.Exit(0);
Your application will terminate and all managed memory will be released at that point.
The generated finally block will not execute, so any Dispose methods will not be called, so any non-managed resources may very well not be released.
finally
Dispose
See Don't Blindly Count on a Finalizer.