From using Statement - MSDN
The using statement ensures that
Dispose is called even if an exception
occurs while you are calling methods
on the object. You can achieve the
same result by putting the object
inside a try block and then calling
Dispose in a finally block; in fact,
this is how the using statement is
translated by the compiler.
From the try-finally (C# Reference)
finally is used to guarantee a
statement block of code executes
regardless of how the preceding try block is exited.
To answer your question, yes its okay to return from a using statement.