/////////////////////////////////////////////////////////////////////// public int Exit( bool all ) { CheckDisposed(); int count = 0; if (all) { INamespace @namespace = parent; while (@namespace != null) { count += @namespace.Exit(false); @namespace = @namespace.Parent; } } count += Interlocked.Decrement(ref referenceCount); return(count); }