The transaction can only be rolled back from a pending state (after OleDbConnection.BeginTransaction has been called, but before OleDbTransaction.Commit is called). The transaction will be rolled back in the event it is disposed before Commit or Rollback is called.