I normally use the using statement whenever I have an object that implements
IDisposable, there is no performance hit as under the hood it compiles to a
try finally with the dispose called in the finally and I think using it makes
the intent of the code clearer.
I did not say to use it in my previous example because I didn't see the
Dispose method in the intellisence (which was a little suprising) for
StreamReader so I didn't say to use it, however running a quick example now
shows it implements IDisposable even if Dispose is not showing up in my
intellisence - wierd.