I see this a lot:
object lockObj;
List<string> myStrs;
// ...
lock(lockObj)
{
    myStrs.Add("hello world");
}
Why have the separate object? Surely you can just do this:
List<string> myStrs;
// ...
lock(myStrs)
{
    myStrs.Add("hello world");
}
 
     
     
     
     
     
     
    