Which one do I call?
Is it necessary to call both?
Will the other throw an exception if I have already called one of them?
the following code is Stream.Dispose from reflector as you can see, you don't need to close if you dispose (which is implicit when using using)
public void Dispose() { this.Close(); }