A few days ago I looked at our Azure costs and they were around $8. That's a ridiculously small amount, except for the fact that we don't really use Azure for anything. So I started investigating.
After having published the Configuration Manager (Puppet master installer image) and LibreNMS in Azure Marketplace I knew that we had a bunch of BLOBs lying around. I knew how to find these blobs using the Storage Explorer. So I tested wiping them all out, as I knew Azure does not delete them immediately, but only after one day. Then I attempted to launch Configuration Manager and LibreNMS from the Azure Marketplace GUI. My thought was that those blobs had already been copied elsewhere (for global distribution) and would not be used by the Marketplace anymore, but it looked like I was wrong. At least I got odd behavior when trying to launch those images and reverting the blob deletion fixed things.
So, I ventured on to research a bit more and found the Find and Delete Unused Azure Disks to Reduce Azure Storage Costs article.. There's some good advise there, including the suggestion to launch Virtual Machines in their own resource group, so that you can delete the whole resource group (VM, public IP, disk, etc) all at once. But if you failed to do that (like me), you can still have a look at the "Disks" menu and remove the unattached disks one-by-one. In our case the disks belonged to long-gone test VMs for our Marketplace products.