Definir metadados da imagem antes de salvar

Eu estou tentando definir os metadados de uma imagem na saída de um redimensionamento, a propriedade parece ser definida, mas depois de salvar nada está lá.

Tenho certeza que estou fazendo algo idiota com alguma ideia.

var pi = createPropertyItem();

pi.Id = 40091;
pi.Len = "SomeText".Length;
pi.Type = 2;
pi.Value = Encoding.UTF8.GetBytes("SomeText");
SrcImage.SetPropertyItem(pi);
SrcImage.Save(@"C:\temp\withTag.jpg");

private PropertyItem createPropertyItem()
{
   var ci = typeof (PropertyItem);
   var o = ci.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance |    BindingFlags.Public , null, new Type[] {} , null);

    return (PropertyItem)o.Invoke(null);
}

questionAnswers(1)

yourAnswerToTheQuestion