BackGroundWorkers are for forms though, maybe his program doesn't have a form. Though, if you use a form, the BackGroundWorker is the easiest way to go. Just remember to lock any objects while they're being worked on, but beware of dealocks (more than one thread locking the same object).