Calling SpinLock.Exit(bool) with the useMemoryBarrier argument set to true will improve the fairness of the lock at the expense of some performance. The default SpinLock.Exit overload behaves as if specifying true for useMemoryBarrier.
If you call SpinLock.Exit without having first called SpinLock.Enter(Boolean@) the internal state of the System.Threading.SpinLock can become corrupted.