Allora provo a spiegarti come fare in poche parole:
AVVIO: fai una funzione che crea un nuovo thread e lo avvia chiamando il delegate che chiamiamo [CreateItemCollection]
Nella [CreateItemCollection] metti il tuo ciclo for e dai come risultato di tutto una collezione di ListViewItem
Al ritorno dal thread, carichi la collezione nella ListView mettendo all'inizio un BeginUpdate e in fondo un EndUpdate.
Tutto fatto
Spero di essermi spiegato...