Maintaining shared state with ReaderWriterLock(Slim) in c#