I've run in to problems with Image::Magick before (
Image::Magick Exception 430).
It doesn't release file handles used to read/write image files. I had a script running against directories of (coincidentally) highschool photos that turned them into various sized thumbnails. Despite every thing I could think of to 'close' Image::Magick between images, after about 2048 or so (what ever the internal system limit for open file handles) image manipulations, the script died with too many open files.
If your script is being run persistently, and it's using Image::Magick to read and save images, I can see how it might run out of file handles over time. I suspect the persistent process resets when it dies on the error, and then you get your random wait all over again for it to happen next.
If you give more information on how you're using Image::Magick, it could discounted (or focused on) as your problem. It may be as simple (or as difficult) as an Image::Magick update.