OptimizingWaitinMultiThreadingEnvironment-C#