Какой из двух приведенных ниже кусков кода не вызывает dispose и, следовательно, это плохая практика:
...
using(SomeIDisposable p = new SomeIDisposable())
{
return p.GetSomething(...);
}
...
или
...
return new SomeIDisposable().GetSomething(...);
...