Avevo letto già quel documento, il mio problema principale è che ho provato a inserire l'invokerequired nella funzione ma non capisco perché mi da sempre false e quindi la richiama normalmente, non dando errore in runtime, solo che poi mi crea una ulteriore notifyicon del form perchè fa riferimento direttamente a qualcosa in un altro thread (problema molto conosciuto e su cui si trova qualcosa in internet).

Quello che non capisco è dove devo fare la invoke.
Ho seguito 2 strade, ho creato un delegate delle funzioni, le funzioni non le ho per nulla modificate, e poi nel codice del thread separato ho fatto form1.invoke del delegato.
Niente, non funziona, poi ho provato con il metodo in questo documento, dal thread separato ho solo semplicemente chiamato form1.funzionedarichiamare e nelle funzioni o sub ho modificato mettendo invokerequired e creando le delegate globalmente nel codice per chiamare la funzione. Nulla per il problema sopra citato....

Oggi riprovo ma son scoraggiato, e non capisco cosa e dove non vada bene qualcosa.