Ist die EXE und die
DLL von Dir ? Dann schreib Dir die Freigabe-Routinen. Oder übergib halt einen schon erstellten und genullten Speicher, wenn Du sicher sagen kannst, wieviel Speicher ausreicht und er wird einfach nur gefüllt.
Generell als Faustregel gilt, dass Speicher dort freigegeben werden sollte, wo er erstellt wird. Also sagen wir, die
DLL erstellt den Speicher, dann gibt die
DLL den auch frei.