One possibility is that it there is a very large number of unprocessed events in the queue when you stop the application, and it takes LV time to deallocate all the memory. I had this happen one due to control references that weren't geting closed. After running over night it could literally take LV over an hour to deallocate all the thousands of unclosed references left in memory.
Might be the same sort of thing going on. Watch LV's memory allocation in the Task Manager when you attempt to shut down and see if it is very large and then starts going down very slowly...
Mike...