Nice catch. I think the issue may be again with those commands being copies of each other. This section here probably needs to be adjusted for the ForceClose:
Code:
if(!isopen) {
close_timer.Start();
isopen=true;
}
else {
close_timer.Disable();
isopen=false;
}
It probably needs to be set something like this (untested):
Code:
if(isopen) {
close_timer.Disable();
isopen=false;
}