Software Transactional Memory (STM.NET) was just made available for C# developers on MSDN Labs home. It is a mechanism for efficient isolation of shared state.  The programmer demarcates a region of code as operating within a transaction that is “atomic” and “isolated” from other transacted code running concurrently.

If you want to read more about STM, go check Somasegar's Blog as well.