as I’m using my own memory manager I can see that FMOD allocates some kind of struct for every device (according to the specified output type) it finds when calling System_GetNumDrivers. But those structs are never freed. Not on change of the output type by calling System_SetOuput. Not on a System_Release and not even on unloading the library.
In which function is that memory actually freed?

Talking about 4.06.22 / Win32 using the plain C interface.

Also mind, that I’m not calling System_Init as I only enumerate the available devices.