This is a self-explanatory question:
Why does this thing bubble into my try catch\'s even when nothing is wrong?
Why is it showing up in my log, hundreds of
As others have said, it occurs when you call Response.End() (which occurs when you call Response.Redirect without passing false as the second parameter). This is working as designed; typically, if you call Response.Redirect, you want the redirect to happen immediately. See this for more information:
Response.Redirect and the ThreadAbortException