"Enable native XMLHTTP support” option in IE, unsurprisingly, makes IE provide native support for XMLHTTPRequest. If you don't enable this, you'll only have legacy ActiveX binding to MSXML library in IE. I guess you use some library that provides cross-browser handling for cases where native support is absent (setting turned off or older IE that only have legacy interface) or manually fallback to MSXML. Since MSXML binding is an alien interface for JavaScript, there are many places where objects introduced from outside JS can form cross-references with native objects, not letting either JS or ActiveX garbage collector to reclaim them, since they don't communicate and can't find such circular references.
Best solution, in my opinion, is to recommend IE7 users to always have this option on (there's really zero drawbacks to it) and just forget about older browsers. If this is not an option somehow, try recursively clear all MSXML objects you create in your fallback code.