If you use breakpoint and check the following code here,
RecallDateTime = (dtpRecallDate.Value.ToString("s") + " " + dtpRecallTime.Value.ToString("s"));
RecallDateTime will have value of say 9 9 when the time is 9 seconds. or say
23 59 when seconds in dtpRecallDate is 23 seconds, and time in dtpRecallTime is 59 seconds.
This is not a valid datetime format.