>I didn't think it would stop until the user exited MapPoint or until I killed it programmatically. At least I have it working now. Thank you very much for the help.
No, if you create a thread you have to manage it. Threads that have UI on them can be difficult because you may have to manage a wait state while it's waiting on the user. In your case this probably doesn't matter as you just want to do the preprocessing on a seperate thread, then run the rest of the code interactively (ie. you can kill the thread).
Keeping the object publicly accessible allows you to access it either from the application main thread or from the thread you created. So it won't matter if the processing thread dies.