Because in this case, Close and Dispose do the same thing as far as any used resources are concerned - they both release them (There is a good chance that Dispose calls Close, or vice versa)
An implementation of Dispose is required by all classes that implement IDisposable (and thus can be instantiated in a
using
block) but there is nothing stopping classes (such as Streams for example) from adding the same functionality under a different name - and it is more symmetrical to have code that does this:
myStream.Open();
...
myStream.Close();
rather than
myStream.Open();
...
myStream.Dispose();