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
There is no point in having locks in the app if there is only one thread and yes, it is a performance hit although it does take a fair number of calls for that hit to stack up into something significant.