public void Return(IReference reference) { reference.OnDestroy(); lock (m_References) { if (EnableStrictCheck && m_References.Contains(reference)) { throw new GameException("The reference has been released."); } m_References.Enqueue(reference); } ReleaseReferenceCount++; UsingReferenceCount--; }