At first blush this is a bit complex, and not doable at present. However, I think there is a simple fix.
What's missing is a Condition to Limit Turning Off if there is a pending Stays Turn Off, such as waiting after motion as gone inactive. This would work for your case as follows:
Means to Turn On: Contact Open or Motion Active
Means to Turn Off: Motion Stays Inactive for 10 Minutes, or 10 Minutes Elapsed from first Activation Event
Conditions to Limit Turning Off: Motion Active, or Pending Stays for Off.
The possible cases:
Contact opens, and someone enters garage: Lights turn on, and motion goes active; lights will turn off 10 minutes after motions stops, but not 10 minutes after contact opened.
Contact opens, but no one enters garage: Lights turn on, and turn off 10 minutes later.
Door was left open, and the lights went out, then someone enters garage: Lights turn on, and turn off 10 minutes after motion stops.
I think that covers it. I think I can add the extra Condition to Limit Off for the next release.