Mixing `Volatile` with `Interlocked` - C#