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 Thread.Sleep(Timeout.Infinite); an
Unlike while(true)..., Thread.Sleep does not use CPU cycles, so in this sense, the sleep is more efficient. In general, using Busy Waiting outside of spinlocks is strongly discouraged.
If the thread is sleeping, is there anything that I should not be doing?
Since your thread is blocked upon entry to Thread.Sleep, anything that you wish to do to its resources is a fair game.