public ulong AcquireStrongReference(T thing) { ulong id = 0; lock(this) { id = NextId++; references.Add(id, thing); } return id; }