I think you should definitely not call Clear, as it Disposes the object. I'm not sure why you can't transform multiple streams with the same MD5 object though.

One more note on efficiency. I'd suggest only using AppendAllText if you intend to make a single write to a file. Otherwise, open the file once at the start of the process and close it again at the end rather than opening and closing it repeatedly.