Sinceramente non so se ho azzeccato il titolo per questa discussione perchè proprio non capisco come risolvere questo problema e a cosa sia dovuto.
Ho sviluppato un programma che migra un enorme quantità di dati da un database access 2000 a un database Firebird.
Spesso, ma non sempre (e questa è la cosa che fa più incazzare) dopo 60 secondi visual studio rileva questo errore

The CLR has been unable to transition from COM context 0x1b13d0 to COM context 0x1b15f8 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.

Non viene evidenziata nessuna riga di codice errato, e una volta chiuso il messaggio si può continuare con l'eseguzione del programma.
Vorrei capire a cosa è dovuto questo messaggio e come poterlo evitare
Grazie a tutti