Depend more on the TPL than using ThreadPool directly