The assert will trigger when numObserversRemoved < 3, which means there are still observers leftover and not all of them were removed. In that situation the debug message should say why the assert triggered, so the reason we give for the assert trigger is: "All observers were not removed!".

When all the observers are successfully removed the assertion does not trigger.