A 'using' statement is always better because
a) you can't forget to call Dispose, even as the code evolves into different code paths, and
b) Dispose gets called even if there's an exception. It also checks for null before calling Dispose, which may be useful.
The only place you don't want to use a using block is where the disposable object is scoped outside of the function. In this case, your class should implement IDisposable and dispose of the object in its Dispose()