Ho tolto il While true del metodo StartListener e ho aggiunto
System.Windows.Forms.Application.DoEvents()
dopo il while true del metodo Dati() e funziona!!

non sono pratica con i thread... anzi è la prima volta che li uso...vabbe l'avrete capito... non ho capito ancora benissimo il funzionamento!!

Volevo alleggerire il metodo Dati() creando un altro thread che una volta chiusa la connessione crea il file pdf ed apre la form2!!
Come potrei fare??