The problem here in lies that your giving not enough time for it to be feasible for the player object to move past the door so when the timer runs out while the player is still on the door it is getting the door and player wedged together, so what you need to do is increase the time if collisions are disabled while the player is still colliding with the door so what you need is a variable to perform a switch statement to 0.5 the collisions by halving them so you can check that necessary check, turn it on and off when needed in the appropriate events.
Sorry if I haven't been using paragraphs...