using as a statement automatically calls the dispose on the specified object. The object must implement the IDisposable interface. It is possible to use several objects in one statement as long as they are of the same type.
The CLRCLR converts your code into MSILCIL. And the usingusing statement gets translated into a try and finally block. This is how the usingusing statement is represented in ILCIL. A usingusing statement is translated into three parts: acquisition, usage, and disposal. The resource is first acquired, then the usage is enclosed in a trytry statement with a finallyfinally clause. The object then gets disposed in the finallyfinally clause.