Capisco, probabile mia inesperienza a riguardo.
Provo a descrivere in poche righe la struttura del programma magari ho commesso qualche errore strutturale:
il form ha due tast che servono solo a fare lo start e stop del thread "DEMONE" che ogni 180000 msec (2 min e mezzo) effettua un polling su una cartella condivisa aprendone tutti gli oggetti mail e lavorando solo quelli arrivati da un determinato indirizzo. Dopo questa scrematura c'è una biforcazione in base al soggetto della mail e, se non ci sono mail che soddisfano una di queste due condizioni,il thread ricomincia il ciclo con la pausa.
Se le condizioni vengono soddisfatte il thread passa i dati parsati ad un db mysql.
Partendo dal presupposto che non uso DSN a causa della mancata uniformità delle macchine in azienda, e dal fatto che quando creo le stringhe poi le nullo nel finally, le uniche cose che istanzio di volta in volta sono gli oggetti dell'interop, anche se poi ho cura di nullarli. La mia paura è che nonostante queste cure nello scaricare variabili e oggetti sia insita nella logica che uso una istanziazione a catena di un qualche oggetto che non viene nullato.