Consider removing the useThing2 and releaseThing2 and just using "delete _player" to free it when it is no longer needed too. In a simple case like this you don't need to do reference counting.