Go ahead and just use this and it will take care of the disposal for you. I believe that disposing is not as necessary with MS SQL, moreso for firebird and oracle.
using (DataAccessAdapter adapter = new DataAccessAdapter())
{
adapter.FetchCollection(myCollection, myFilter);
// any other code that you use the adapter for
}
This will automatically dispose the adapter for you when you are done, you do not need to worry about doing it after any transactions, since when you do it is longer usable.