So the (a bit postponed) reaction to this, is that materials are only removed from the printer if all materials are unloaded from the material station. Then after a factory reset all materials are removed.
To debate further on this: I did manage to find a conflicting GUID in Cura vs. printer material. My guess is (I didn't deliberately test this) that when you change some settings to the material properties in Cura (my guess is: the name or the material type) it will keep the same GUID, but the 'old' unchanged material with the same GUID is still in the printer. So when you try synchronizing the materials it conflicts and apparently this conflict is not resolved in the synching process, so it spins forever actually doing nothing....
So conclusion:
It's a synching issue (duh) meaning it's both parties involved (Cura and Printer). @MariMakes for this one to pick up by the team? Hinting at a solution would be to always change GUID in Cura if user changes material name, material type or some other fundamental. Then when synching comparing the materials from Cura with the ones in the printer and if 95% of the properties of a material are the same (but having different GUID's) it could ask if user wants to replace this material with the (a) new one...
In the meantime for users either try the workflow mentioned above. Or factory reset the machine and resync materials (annoying yes, hell yes)