¿Cómo encontrar el motivo del error GDI + genérico al guardar una imagen?

Al tener un código que funciona durante años al cargar y almacenar imágenes, descubrí que tengouna sola imagen que rompe este código:

const string i1Path = @"c:\my\i1.jpg";
const string i2Path = @"c:\my\i2.jpg";

var i = Image.FromFile(i1Path);
i.Save(i2Path, ImageFormat.Jpeg);

La excepción es:

Se produjo System.Runtime.InteropServices.ExternalException

Se produjo un error genérico en GDI +.

en System.Drawing.Image.Save (String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
en System.Drawing.Image.Save (nombre de archivo de cadena, formato ImageFormat)
a ...

Por lo que puedo ver, no hay nada especial en la imagen. Tiene aproximadamente 250 píxeles de tamaño y se puede abrir en, por ejemplo, Visor de imágenes de Windows o Paint.NET:

(Desde la imagen de arriba, después de cargarla en Stack Overflow ya no se produce el error, he puestola imagen original aquí)

Lo que descubrí es que al llamar alSave método, el archivo de imagen de destino se crea con cero bytes.

Realmente no tengo ni idea de qué causa el error.

Mis preguntas:

¿Se te ocurre alguna cosa especial que impida que .NET guarde la imagen?¿Hay alguna forma (aparte de paneo) para reducir este tipo de errores?

Respuestas a la pregunta(7)

Su respuesta a la pregunta