If you ever get a disk or disk image that will not unmount, you can force it with a Terminal command. Run Terminal and use “df” to list the drives. Find the one you want to unmount, such as /dev/disk3s2. Then use “diskutil unmountDisk force /dev/disk3s2″ to force it to unmount.
Related: Disk Image & Dropbox, Secure erasing an old floppy disk and hard disk drive., Using a game without the disk, Error -50 when writing to hard disk, Can’t find extern disk for backup.

Cheers for that!
and it works. cool. no more violent ejections.
Awesome tip, worked like a charm – thanks!
What if the terminal returns a “at least one volume could not be unmounted”? I came across this as I tried to use this approach to get my external hard drive to unmount. Any suggestions would be appreciated.
Hard to say. Experiment. Or, just restart.