1.The ASP.NET web application are running on the server. The code behind is executed by respected some strict rules (like event order: Page_PreInit, Page_Init, Page_Load, ..., Page_Prerender) and at they the page is rendering and the resulted HTML is sent back to the web browser that use it to display the web page.
You can read details here: ASP.NET Page Life Cycle Overview
2.On some user actions, like pressing a button, the page is sent back from the browser to the web server and then the code behind is executed again, like I explained at 1st point above.
3.So, based on these main rules about ASP.NET web application described above, it make no sense to use threads in the code behind associated with an ASP.NET application!