Not sure if this is more a VB or C++ question, posted on both.

I have a C++ dll with a function that is used
in VB code.

The C++ function returns a BSTR to the VB calling functions. This function is called ALOT by various VB function.

The problem:

After much processing (1 hour+), memory is consumed like crazy, 200M and up. We (the team that must debug this) think the BSTR's aren't being free'd in VB. We know this should be done automagically. I will test this theory today.

If that is the case how can we free the BSTR memory in the VB code. I only know of:
bstrVar = Nothing
or
bstrVar = ""

Could I create a method in the C++ class that returns the memory with SysFreeString? May get a pointer from the VB code as a func parameter?

any ideas are welcome.