So in asp.net MVC views, we see the following construct:
using(Html.BeginForm())
{
//some form elements
}
An abuse? Microsoft says no (indirectly).
If you have a construct that requires something to happen once you're done with it, IDisposable can often work out quite nicely. I've done this more than once.