This issue is not reproducible with the steps mentioned in bug description after LP bug #1404801 is fixed.
Please find below a different scenario to reproduce this issue on current master:
1. Boot instance from image.
2. Attach volume to the instance.
3. Shelve instance.
4. Delete the snapshot taken during shelve instance.
5. Unshelve instance (Instance goes in to error state).
Now if we delete this instance created at step 1, instance is deleted successfully but volume remains in-use and we are not even able to delete that volume then.
This issue is not reproducible with the steps mentioned in bug description after LP bug #1404801 is fixed.
Please find below a different scenario to reproduce this issue on current master:
1. Boot instance from image.
2. Attach volume to the instance.
3. Shelve instance.
4. Delete the snapshot taken during shelve instance.
5. Unshelve instance (Instance goes in to error state).
Now if we delete this instance created at step 1, instance is deleted successfully but volume remains in-use and we are not even able to delete that volume then.