I click on a link from one page that does a redirect to another page (Response.Redirect(page.aspx)).
The browser churns for about 30 seconds and the page displays.
The fact that csc.exe is running and it only occurs when you first click the link would suggest there are a lot of elements in the aspx that need to be compiled prior to displaying the page. Look for stuff that exists in expression holes <%= %>. It could also be something in the controls themselves (particularly if they are ascx user controls and not server controls).
The reason it only happens the first time you click on the link is because after that the compiled page object is cached, so there is no need to re-compile until your app is restarted.