It happens in two cases: if you use `NSKeyValueObservingOptionInitial` and if the change is triggered by deallocation.

The latest implementation doesn't use `NSKeyValueObservingOptionInitial` anymore, and has an additional flag to signal changes triggered by deallocation which gets checked right before this, so if we get here the callbacks should be balanced.