title: Is Thread.Sleep(Timeout.Infinite); more efficient than while(true){}?
body: <p>I have a console application that I would like to keep open all of the time while still listening in to events. I have tested <code>Thread.Sleep(Timeout.Infinite);</code> and <code>while (true) { }</code> and both allow the events to be raised while keeping the console application open. Is there one that I should be using over the other? If the thread is sleeping, is there anything that I should not be doing, such as modifying a static collection declared in the scope of the class?</p>