I have allocated memory for a string-type variable inside a C dll using new(char[n]). This dll is called from a VB application. I am returning this string to the calling VB function. Is the memory automatically freed or do I have to do it? How should I do it? I cannot free the variable inside the dll as I cannot return it in that case.