Carichiamo un dataset contenente solo i dati che ci servono

Ogni singola riga viene viene caricata su degli UserControl inseriti allìinterno di un System.Collections.CollectionBase

Popoliamo la lista e la passiamo ad un FlowLayoutPanel

Dove nel flowlayoutpanel facciamo dei drag drop, inseriamo nuovi oggetti, eliminiamo oggetti esistenti

Con pochi records nel db tutto funziona egregiamente (veloce)

Nel momento in cui il database viene popolato con circa 5.000 - 10.000 records le prestazioni degradano pesantemente.

Abbiamo effettuato le stesse select utilizzando stored procedure, ma non abbiamo notato nessun miglioramento

Sapete darmi delle dritte su dove intervenire???