Need bit more clarity on last para from your question.
The latter is a Image I receive through an SDK, which presumably take it out of a database stored in the network. The images are both System.Drawing.Image
If you are receiving Stream from referenced SDK then you just need to read the stream to get byte array no need to save with Image.Save(... .
In which form you will receive image as stream object or System.Drawing.Image object?