Handling ThreadAbortException

By definition ThreadAbortException cannot be stopped. Even if you have something like catch (ThreadAbortException) or catch (Exception), the ThreadAbortException invocation will follow the catch blocks. But as soon as the block ends the same exception is raised again.
The only way to eat out this exception is to catch and call Thread.CurrentThread.ResetAbort().
[https://msdn2.microsoft.com/en-us/library/system.threading.thread.resetabort.aspx]