No, you don't need to create another instance, once closed, just add another command to it and execute it again. You can reuse it, but make sure another command has been added to it.
Also, when you're working with Resources and Stream, use the Using syntax to work with them. Using the
using () { }
syntax, you will allow .NET framework to take care of the resources itself. Close, Dispose and Flush functions would be called where required and you won't have to worry about them at all.
http://msdn.microsoft.com/en-us/library/yh598w02.aspx[
^]