A simple C# thread pool implementation