MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 18: Programming Considerations
The consumer can safely free memory at any time after a method return. It does not matter if this memory was allocated by the consumer and passed to the provider or allocated by the provider and returned to the consumer. From the provider's point of view, this means that the provider must not access any memory used by a method except while that method is executing.