Bass_init is called by function triggered by some hook (when player is starting new/loading game).
Free is placed inside sound system's class destructor, so it happens when the dll is being unloaded.
Does both init and free has to be called from same thread or module?
Ok I will mess some more with that. Generally it happens in some specific conditions when game has additional mods installed.