Use ManualResetEventSlim for better performance