I have asked a question badly over here Lock on a variable in multiple threads so for clarity I am going to ask it here and hope I can ask it correctly.
ClassB shouldn't be exposing a variable (by which you probably mean data member). Expose a property or set of methods instead, and use ReaderWriterLockSlim to handle multiple threads.