The expected behavior of the shutdown() API is to clear the providers from the registry, but also trigger each provider's shutdown() implementation before their removal. This is explained in the README, and it's the behavior in other OpenFeature SDKs. However, currently shutdown() calls clear() in the registry (link) but the providers' shutdown() is not called.
We have observed this when testing our own Rust provider. The consequence is that some of the providers' telemetry events were not flushed from memory at shutdown and were forever lost.