Visto che ogni nuovo thread fa delle operazioni su alcuni file e sul db anche abbstanza pesanti ho dovuto inserire un limitatore....
Un limitatore nel numero dei Thread o un limitatore delle risorse della CPU?
Non si capisce bene quello che vuoi.

codice:
While Process.GetCurrentProcess.Threads.Count > 100
           Debug.Print("THREADCOUNT: " & Process.GetCurrentProcess.Threads.Count)
End While
E seconde te un processo con 100 Thread ,pesanti come dici tu, gira correttamente??

Il tutto funziona decentemente...ora però vorrei un attimino ottimizzarlo inserendo nel ciclo while un Thread.CurrentThread.Sleep(100)....giusto per evitare sprechi inutili di cpu.

La domanda però è questa: il thread.sleep mi freeza solo il thread corrente o anche tutti gli altri thread che ho aperto?
Mi sembra che il nome del metodo sia abbastanza esplicativo.