Come da oggetto, ho una BackGroundWorker che esegue alcune istruzioni. Al termine delle istruzioni, la BW sembre terminare, ma quando cerco di rilanciarla, viene generata l'eccezione che afferma che la BW è ancora in esecuzione e anche con la CancelAsync() non riesco a terminarla.

Di solito, uso la sintassi all'interno della BW:

codice:
while (!condizione)
{
istruzioni
}
Quando si verifica "condizione" la BW termina e poi posso richiamarla tutte le volte che voglio, stavolta non capisco il motivo ma non è così.