When loading the image with the nuget package, (FreeImage 3.18.0.0) it does not unload memory even if '''dib.SetNull()''' was set.
var dib = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_PNG, pngFile.FullName,
FREE_IMAGE_LOAD_FLAGS.DEFAULT);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JP2, dib, jpgFile.FullName, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);
dib.SetNull();
FreeImage has additional copy of image you need to unload. FreeImage_Load Memory Leak
try: FreeImage.Unload(dib);
var dib = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_PNG, pngFile.FullName,
FREE_IMAGE_LOAD_FLAGS.DEFAULT);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JP2, dib, jpgFile.FullName, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE);
FreeImage.Unload(dib);
dib.SetNull();