I've done a bit more testing, and I think that this issue only occurs if I have written a new IPTC profile to the image.
i.e.
If the file had an IPTC profile before, and I edit the image and write to a file, I can load the file into a MagickImage object and it retains the edits.
If the file had no IPTC profile, so I create a new IptcProfile() and set values to it, then add that to the image, and write it to a file - when I later load the file into a new MagickImage object, it cannot load the IPTC profile.
I also found that if I edit the image to being a plain single colour image, it still does the same thing, so no need for me to worry about release issues. :)
i.e.
If the file had an IPTC profile before, and I edit the image and write to a file, I can load the file into a MagickImage object and it retains the edits.
If the file had no IPTC profile, so I create a new IptcProfile() and set values to it, then add that to the image, and write it to a file - when I later load the file into a new MagickImage object, it cannot load the IPTC profile.
I also found that if I edit the image to being a plain single colour image, it still does the same thing, so no need for me to worry about release issues. :)