Ipotizzo che tu possa avere qualche connessione ai dati che non viene chiusa attraverso Try...Finally e la chiamata al metodo Close. Se è così, è possibile che il programma tenti di aprire una connessione quando la precedente, magari perché usata in un'altra maschera, non è ancora stata chiusa (il Garbage Collector non è ancora intervenuto), generando l'errore in oggetto.

Fai un controllo per verificare l'assenza di questa casistica.

Ciao!