investiga sobre los metodos asincronicos, esa podria ser una solucion a lo que necesitas, en el VS2005 existe un componente que se encarga de ejecutar cosas asycronicamente, creo que se llama el BackGroungWork.
Mira este post, alguna vez yo pregunte algo similar
http://www.forosdelweb.com/f29/como-hago-esto-450713/
Saludos