initial load is a normal thing in ASP.NET world, there are some tricks to bypass that but it's up to you to use them or not. This mainly happens and it's noticed on sites that don't have to many visits. Once you get some traffic this will happen very rare so I think that you don't have to worry to much, also this heavily depends on the hardware you are using so initial load is more noticeable in shared hosting environments then in dedicated server one.
I think you are fine with this here are the few things that you can do about it
- Set higher idle time for your web site inside the IIS
- You can turn on Application Initialization
Let us know if you need more information.