So, like I said, if you design the EXE and the DLL to use the same MSVCRT DLL, then they will use the same heap and you can call new/delete with impunity.
To me that explanation was shocking.
During my C course nobody talked about the C Runtime Library.
As a consequence i always thought that new, malloc and variants were exactly the same as virtualalloc.
I understand now that i rely heavily on the CRT, understand what it is and what it does for me.