This is the way how to solve this problem:
1. Remove the image from the image collection by key.
2. Add a new image with the same key to the image collection.
Image newImage = ...
string imgKey = ...
Image previousImage = imgList.Images[imgList.Images.Keys.IndexOf("imgKey")];
imgList.Images.RemoveByKey(imgKey);
previousImage.Dispose();
imgList.Images.Add(imgKey, newImage);