Ah, ho risolto il problema, era una "ottimizzazione" che avevo fatto... ^___^ In pratica creavo un nuovo array ad ogni iterazione.
Ora l'ho reso membro della classe e mi limito a riempirlo.
La velocita' di esecuzione e' parecchio aumentata e il GC viene chiamato una/due volte al minuto, quando va male!
Grazie per la risposta, cmq...
Pero' a quanto pare non era quello il problema della Progress Bar, che continua ad andare a scatti. Oggi faccio qualche altra prova...