Я обнаружил проблему с классом MFC CHtmlView в приложении MDI. Многократное открытие и закрытие окон приводит к постепенному истощению памяти. Я исследовал проблему и нашел статью MSDN о проблеме BSTR (http://support.microsoft.com/kb/241750), реализовал эти исправления, но все еще происходит большая утечка.
Я идентифицировал проблему как в VC8, так и в VC9, пытался убедиться, что все интерфейсы действительно выпускаются, но я в полном замешательстве.
Самый простой способ убедиться в этом - использовать MFC AppWizard (vc8 или vc9) для создания стандартного приложения MDI, изменив только CView по умолчанию на CHtmlView. Скомпилируйте и запустите приложение в режиме отладки, и приложение автоматически откроет новое окно HTML для MSDN.
Откройте TaskManager для отслеживания памяти, используемой приложением. Закройте открытое окно. Затем каждый раз, когда вы снова открываете и закрываете новое окно, вы увидите определенное увеличение памяти, удерживаемой приложением. Как только приложение закрыто, оно не показывает утечек.
Если у кого-то есть какая-либо информация, я был бы признателен от вас.