Line 628: // // Ticks the clock: next step on the pipeline. // void Tick () { try { if (pipeline != null && pipeline.MoveNext ()){ if (pipeline == null || (bool)pipeline.Current) PipelineDone (); } } catch (ThreadAbortException taex) { Console.WriteLine("ThreadAbortException catched up!!...{0}",taex.Message); object obj = taex.ExceptionState; Thread.ResetAbort (); stop_processing = true; if (obj is StepTimeout) ProcessError (new HttpException ("The request timed out.")); else PipelineDone (); } catch (Exception e) { Console.WriteLine ("Tick caught an exception that has not been propagated:\n" + e.StackTrace); } Console.WriteLine("byebye Tick()!"); } . . . Line 800: // // Invoked at the end of the pipeline execution // void PipelineDone () { Console.WriteLine("PipelineDon() Ejecuted..."); try { if (EndRequest != null) EndRequest (this, EventArgs.Empty); } catch (Exception e){ Console.WriteLine("Catching up Excepcion when EndRequest"); ProcessError (e); } try { OutputPage (); } catch (Exception e) { Console.WriteLine ("Internal error: OutputPage threw an exception " + e); } finally { Console.WriteLine("FFinnaly on OutPage()"); if (context == null) context = HttpContext.Current; context.WorkerRequest.EndOfRequest(); if (factory != null && context.Handler != null){ factory.ReleaseHandler (context.Handler); context.Handler = null; factory = null; } #if NET_2_0 context.PopHandler (); #endif Console.WriteLine("FFinnaly 1"); if (begin_iar != null){ try { begin_iar.Complete (); } catch { // // TODO: if this throws an error, we have no way of reporting it // Not really too bad, since the only failure might be // `HttpRuntime.request_processed' // } finally { done.Set (); } } else { done.Set (); } // context = null; -> moved to PostDone pipeline = null; current_ai = null; } Console.WriteLine("FFinnaly 2"); PostDone (); Console.WriteLine("FFinnaly 3"); } ===> Hit Return to stop the server. ThreadAbortException catched up!!...Thread was being aborted PipelineDon() Ejecuted... FFinnaly on OutPage() FFinnaly 1 FFinnaly 2 FFinnaly 3 byebye Tick()!