There's a TSB on this problem: It says this only happens at very low temperatures but I don't see why it might not be applicable to your situation as well. It's also possible that the blower motor relay could be sticking---sometimes if you can find another relay with the exact same part number in the fuse box, you can switch them out to test the suspect relay. Anyway good luck tracking this down.
Bulletin No.: 06-01-39-002C
Date: January 18, 2008
Blower Motor Inoperative or May Not Shut Off in Extremely Low Ambient Temperature Conditions (Replace Blower Motor Control Module)
Some customers may comment that the blower motor is inoperative or continues to run after the vehicle has been shut off.
These conditions may be caused by a blower motor control module failure. This failure may occur when the vehicle is operated in ambient temperature conditions of-23°C (-10°F) or below.
Replace the blower motor control module if the vehicle experienced a blower motor control module failure in extremely cold ambient temperature conditions.
Technicians are to replace the blower motor control module also called the Linear Power Module (LPM) with the P/N listed below. Refer to either the Blower Motor Control Processor Replacement or Blower Motor Processor Replacement-Auxiliary procedures in SI. After replacement of the blower motor control module the customer may notice a slightly higher than expected blower motor speed at any of the blower speed settings.