Before this descends into a total flame war...

I think we (that is I, JSoftware, Memphis and Mirage) are all pretty much singing from the same song sheet.

If you can guarantee that a variable will only ever be read by multiple threads, the protection is not required. If however one of those could write to it, then protection is most likely required.

That I think sums it up nicely.