You should not be looking at the internal behavior of native, only at the external behavior as observed through test cases.
Hm,
I know, that
testcase -> windows oleaut -> wine ifs.c IMalloc logging
is quite strange testing. Sadly this was the only way to explore the reason for not freeing memory. I admit that the application is buggy in this case but the intention was to get some more programs running.
Best regards.