On July 11th @zeljkofilipin noticed Nodepool slaves not being deleted from Jenkins and OpenStack. That is all due to some job that was not set to emit the ZeroMQ event.
@hashar can't remember why the Zero MQ had to be explicitly turned on on a per job basis. We have confirmed the events can be sent for any jobs and Nodepool will not put offline / delete the instances unless Nodepool knows about the slave in its internal database. Maybe it was restricted to prevent spamming logs?
We had Jenkins to send Zero MQ event for any job now. Next thing is to drop the ZeroMQ explicit configuration from all the jobs in the JJB config files.