is there any case in which the terminate event of usercontrol does not fire ?