È normale, alla prima partenza:
- devono essere caricate da disco ed eseguite le varie dll di .NET - e non è poca roba;
- inoltre, alla partenza del programma questo viene JIT-compilato, ovvero, il codice pseudo-compilato del tuo eseguibile viene compilato in codice nativo per essere effettivamente eseguito; questa operazione prende il suo tempo, ma una volta che una procedura è stata JIT-compilata il codice generato viene usato per tutto il resto dell'esecuzione del programma.