Streams are closed and then disposed/destroyed as they act allot like, if not identical to, threads.

It is good practice to confirm changes to a stream and then save the stream prior to closing it and initializing the destructor.