/// <summary>
 /// Releases unmanaged and - optionally - managed resources.
 /// </summary>
 /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
 protected override void Dispose(bool disposing)
 {
     if (!Disposed)
     {
         if (disposing)
         {
             if (_chunk != null)
             {
                 _chunk.DecrementReferenceCount();
                 _chunk = null;
             }
         }
     }
     base.Dispose(disposing);
 }