I understand the main function of the lock key word from MSDN
lock Statement (C# Reference) The lock keyword marks a statement block as
lock Statement (C# Reference)
The lock keyword marks a statement block as
Bear in mind that there might be reasons why your application is not as single-threaded as you think. Async I/O in .NET may well call-back on a pool thread, for example, as do some of the various timer classes (not the Windows Forms Timer, though).