Hi, you should not deploy C# source code on your production machine at all. You should compile on your dev machine using Release Mode then package your files for deployment as discussed here:
http://www.mojoportal.com/deploymentfromwindows.aspx
Note especially the part about setting <compilation debug="false" in Web.config. It will run faster on prodution because it will do the JIT compiling without debug symbols. As you noticed its fast after it warms up, but if traffic is slow and there are no requests for 20 minutes (the default IIS app pool timeout), the application will be shut down by IIS and when it starts again it has to JIT compile again for the first requests and this makes them seem slow. Then after its all been JIT compiled its fast again.
You can put a longer timeout on your app pool or you can try the setting in Web.config:
<add key="UseAppKeepAlive" value="false" />
change it to true and it will run a periodic request on a background thread to keep the app pool from timing out. This feature is a bit experimental though and has only had limited testing so let me know if it causes any problems for you.
Hope it helps,
Joe