Isn't the function PURGE ALL intended to purge all the unused assets in a scene?
I know this happens... it's not fun.
If you switch your outliner window from View Layer to Blender File, you can look at the stuff in your file and right click and delete anything unneeded.

As you've noted it's usually images that need removing.
Technically, once unused they should be purged from your file by virtue of not being saved in the first place because they don't have any users.  I'm not sure what is marking these as used, honestly.  My suspicion is opening an image in a UV editor or something.