Patch #1 does not work for me.
Patch #2 adds a wait which I don't understand and defers loading of editor contents to after the editor is initialised, which again I don't understand in the context of "leak". Deferring the load to the very end also makes asynchronous loading in a background thread silly... it would be more efficient then to just load the data in the main thread.
Patch #3 can't say anything about.... code completion.
Patch #4 is technically correct, but does not really improve the application. It explicitely destroys the DDE connection object before terminating the process. There is no leak either way, as the application terminates immediately afterwards.
Patch #5 looks ok
Patch #6 looks ok for consistence, though it is questionable if unregistering any of the event handlers in Manager::~Manager is actually a win (as the process terminates right after Manager is destroyed)
Patch #7 does not work for me.