Да, это «правильное» использование IDisposable. Возможно, у автора MyForm был какой-то большой объект (скажем, большой MemoryStream) или файловый ресурс (например, открытый FileStream), который он открыл и хотел убедиться, что он выпущен как можно скорее. В этом случае было бы полезно вызвать ctor MyForm внутри оператора using.
Вопрос 2:
в C # 3.0+ вы можете использовать более короткое (и столь же понятное):
с использованием ( var f = new MyForm ())