Come sopra spiegato ciò accade, tipicamente, per la generazione a runtime di strutture dati più o meno complesse (esempio: form) le quali, spesso per ridurre il tempo di "prima apparizione" di "qualcosa" sullo schermo, vengono inizializzate successivamente.
In sostanza il programma eseguibile viene caricato (* in realtà la questione è potenzialmente più complessa, ma non approfondiamo) in "un colpo". Poi però può impiegare anche secondi (o decine di secondi) di "lavori vari".
Sempre in linea generale, talvolta, sono addirittura compressi (gli eseguibili), con UPX, mpress o simili, per ridurne la dimensione.
Ciò aumenta ancora il tempo di "avvio" (per la decompressione); normalmente ciò si fa per ridurre la dimensione degli aggiornamenti da scaricare da Internet, più che per risparmiare spazio-disco.