Description
This is because doDestroyNode returns null once a node has been deleted so there is no node metadata to use to cleanup the extraneous resources.
This is particularly problematic on Azure ARM as the resource limits are quite low be default for some of these resources so you can quickly get into a state where you can't deploy nodes.
I've created a PR based on equivalent GCE compute code to fix this.
https://github.com/jclouds/jclouds-labs/pull/409