独り言だけど、マルチスレッド関連、マルチプロセッサ等考慮して非常に厳密にやろうとするなら
lock から出る前に Thread.MemoryBarrier() 呼んだり、あるいは Thread.VolatileWrite 等で書いたり
する必要があるみたいですね。サーバ系AP書いてる人は要注意っぽいな・・・