Some might notice that there's a wonderful thing called a BackgroundWorker. it lets you do stuff in the background.
Here's how it works:
BackgroundWorker bw = new BackgroundWorker();
bw.doWork += new EventHandler .... **STANDARD EVENT HANLDER FOR doWork**
...
the doWork event is thrown when a function of the same name is run. On another note, you can also pass a function to do the work to handle the doWork function. GooOooOOogle is your freind