Salve a todos!

ho un programmino che funziona perfettamente tranne che per una cosa che non dipende effettivamente dal mio programmino...
in questo programma eseguo una routine un po' pesante che dura circa un'ora. a volte, al termine della routine, la form rimane bloccata. nel senso che se clicco su un pulsante della form o una casella di testo, sento l'odioso suono di windows e non riesco ad entrare nelle text box oppure a pigiare effettivamente i pulsanti. questo non deriva dal fatto che il programma si sia bloccato in qualche punto: questo lo so per certo perché nella form ho messo un controllo label che mi indica in ogni secondo in quale punto del codice si trova il programma.
mi visualizza che il programma è uscito dalla routine e non sta eseguendo nulla, ma la form rimane impallata.
ho provato con varie tattiche, impostando alla fine della routine alcune istruzioni per "svegliare" la form:
- ho provato ha cambiare il valore della proprietù visible da true a false a true
- ho provato ad annullare ed eliminare l'oggetto che nella form eseguiva il maggior numero di operazioni (un webbrowser)
- ho provato con il me.show

ma non funzia.
a volte rimane incriccata e l'unico modo per uscire è chiudere il processo dalla gestione processi di winzozz.
come si può fare per svegliareriattivare sta form?!?!?