Using translates, roughly, to:
Something mySomething = new Something();
try
{
something.someProp = "Hey";
}
finally
{
if(mySomething != null)
{
mySomething.Dispose();
}
}
And that's pretty much it. The purpose is to support deterministic disposal, something that C# does not have because it's a garbage collected language. The using / Disposal patterns give programmers a way to specify exactly when a type cleans up its resources.