I noticed that all over NMS code the Dispose(bool) is implemented so that it will call Close() regardless either it is called from destructor or Dispose(). As result, if it is called from destructor, an object will call its member disposeOf() when there is no guarantee that this member still exist. I think all Close() should be called from "if(disposing)".
Vadim. -- >From RFC 2631: In ASN.1, EXPLICIT tagging is implicit unless IMPLICIT is explicitly specified