Thanks to Dwaine Gilmer, Doug Stewart and Finbar Ryan for their help on this post! It's all them!
#1 Issue - Configuration
Seems the #1 issue in support for problems with ASP.NET 2.x and 3.x is configuration.
Symptoms
Additionally, if you leave debug=true on individual pages, note that this will override the application level setting.
Here's why debug="true" is bad. Seriously, we're not kidding.
Overrides request execution timeout making it effectively infinite
Disables both page and JIT compiler optimizations
In 1.1, leads to excessive memory usage by the CLR for debug information tracking
In 1.1, turns off batch compilation of dynamic pages, leading to 1 assembly per page.
For VB.NET code, leads to excessive usage of WeakReferences (used for edit and continue support).
An important note: Contrary to what is sometimes believed, setting retail="true" in a <deployment/> element is not a direct antidote to having debug="true"!
#2 Issue - Problems with an External (non-ASP.NET) Root Cause
Sometimes when you're having trouble with an ASP.NET site, the problem turns out to not be ASP.NET itself. Here's the top three issues and their causes. This category are for cases that were concluded because of external reasons and are outside of the control of support to directly affect. The sub categories are 3rd party software, Anti-virus software, Hardware, Virus attacks, DOS attacks, etc.
Read more: SCOTT HANSELMAN'S COMPUTERZEN.COM