Maybe not override at all or possibly call Dispose() after Cancel()?