When you build a .net web application, you can either pre-compile it, or you can have the server compile it at runtime.
Pre-compiling it will do away with the "lag" you're talking about...but...everytime you make a change anywhere in the application you will have to recompile it again.
Letting the server compile it at runtime will result in the "lag" - but it should only do that the first time the app is run...at least until someone makes a change to something and it will have to recompile it again at runtime.
The only reason I can think of that it would lag like that just overnight ( assuming you didn't change anything in the app during the afternoon or whatever ) is if you turn the server off at night. Does it run all night or does it get shut down?