Response.Endを使用するとスレッド中止例外(ThreadAbortException)が発生します。
ASP.NETでResponse.Endメソッドからレスポンスを終了するとThreadAbortException例外が発生します。これはResponse.Endメソッドが処理中のスレッドを即座に停止し、クライアントに応答を送信するためです。しかしこれは、現在のスレッドのfinallyブロックが確実に実行されるようにするために特殊な例外(ThreadAbortException)を発生させます。これはスレッドが後始末やリソース解放の操作を実行できるようにするための例外です。この例外の発生は意図的なものですが、依然として例外ですので、他の例外処理メカニズムでキャッチされる可能性があります。ThreadAbortException例外を発生したくなければ、Response.Flushメソッドでレスポンスをフラッシュしてその後もコードを実行することができます。またはResponse.RedirectやResponse.Closeなど他の方法を使用してレスポンスを終了することができます。