E' abbastanza normale, a occhio si tratta di Windows Forms.
Ogni volta che aggiungi un controllo al tuo panel, vengono invocati una serie di eventi che permettono ai parent di accorgersi della modifica alla UI, in modo particolare ControlAdded è l'evento che viene sollevato nel tuo caso.
Questo provoca il redraw della interfaccia utente anche per le parti che non sono attualmente visibili. Quindi se il tuo panel ha una scrollbar, vengono disegnati tutti i controlli anche se si trovano fuori dell'area visibile.
Ovviamente più controlli ci sono e più tempo viene impiegato ogni volta per ridisegnare tutto.
Questo è il motivo del degrado che hai notato.
Ti consiglio di invocare il metodo SuspendLayout prima di iniziare il tuo ciclo e ResumeLayout alla fine del ciclo.
Questo migliora le performance perchè informa i controlli che il redraw è temporaneamente sospeso e quindi anche se la lista di controlli cambia non vengono invocati i metodi di Paint.
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.suspendlayout.aspx
Ciao