C # imagen GIF a MemoryStream y viceversa (perder animación)

Tengo un pequeño problema y no encuentro ninguna solución. Quiero convertir un GIF en un byte [] y luego volver a un GIF. Funciono bien pero pierdo la animación.

Es un GIF perfectamente animado cuando comienzo (lo muestro en unPictureBox elemento). Pero después de la conversión me quedo atascado con el primer fotograma.

HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("creativetechs.com/i/tip_images/ExampleAnimation.gif");
HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse();
Stream stream = httpWebReponse.GetResponseStream();
Image img = Image.FromStream(stream);

MemoryStream ms = new MemoryStream();
img.Save(ms,img.RawFormat);
byte [] bytes = ms.ToArray();
Image img2 = Image.FromStream(new MemoryStream(bytes));

int frames1 = img.GetFrameCount(System.Drawing.Imaging.FrameDimension.Time);
int frames2 = img2.GetFrameCount(System.Drawing.Imaging.FrameDimension.Time);

Traté de usar no RawFormat sinoSystem.Drawing.Imaging.ImageFormat.Gif. No cambió nada. @frames1 es el número correcto de fotogramas. @frames2 es 1.

Tengo 2PictureBox elementos en mi GUI. Uno mostrandoimg y el otroimg2. Peroimg2 no está animado mientras queimg es. ¿Qué está mal

También he intentado utilizar la serialización para crear mi byte [].

Serialicé la imagen y la deserialicé nuevamente y tampoco cambió nada. ¿Cómo es esto posible

Respuestas a la pregunta(4)

Su respuesta a la pregunta