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
Calling the Thread.Sleep method causes the current thread to immediately block for the number of milliseconds or the time interval you pass to the method, and yields the remainder of its time slice to another thread.
https://docs.microsoft.com/en-us/dotnet/standard/threading/pausing-and-resuming-threads?redirectedfrom=MSDN#the-threadsleep-method