This turned out to be the culprit. When we unloaded a unit, we would go try to fetch the unit state of something that had already been purged from systemd, which was then stuffed in etcd. Now on unload, we just clear the state. Nothing to it.