Also, I have been assuming all along that you are just trying to make your code as efficient as is physically possible, but if the reason for you asking about this is because you are worried about this slowing your application down then I would say you have nothing to worry about unless you are making an extremely performance sensitive application. I have made plenty of applications that use several threads (some that use up to 20 at once) and have never had any performance problems with SyncLock at all and I'm sure most other developers would agree.

Also, a Property should never really be doing anything that takes a long time in its Set or Get methods, so your other threads should only ever be waiting a fraction of a second if there is another thread already inside either the Get or the Set.