C # gif Imagem para MemoryStream e vice-versa (perde animação)

Tenho um pequeno problema e não encontro nenhuma solução. Quero converter um GIF em um byte [] e depois voltar a um GIF. Funciono bem, mas perco a animação.

É um GIF perfeitamente animado quando inicio (mostro-o em umPictureBox elemento). Mas após a conversão, fico com o primeiro quadro.

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);

Eu também tentei usar não RawFormat, masSystem.Drawing.Imaging.ImageFormat.Gif. Não mudou nada.frames1 é o número certo de quadros.frames2 é 1.

Eu tenho 2PictureBox elementos na minha GUI. Um mostrandoimg e o outroimg2. Masimg2 não é animado enquantoimg é. O que está errado

Também tentei usar a serialização para criar meu byte [].

Eu serializei a imagem e a desserializei novamente, e também não mudou nada. Como isso é possível

questionAnswers(2)

yourAnswerToTheQuestion