My question is about order of execution guarantees in C# (and presumably .Net in general). I give Java examples I know something about to compare with.
For Java (from \"
What you are looking for is Thread.MemoryBarrier
However they may not be necessary for Microsoft's current implementation of .NET. See this SO question for more details.