Why mess with the domain? dispose is only called on error. You still need to exit on normal completion... I don't see a point to any of these changes.