For what it's worth, I've been able to consistently reproduce (and avoid) it:
- Block microphone access at OS level
- Use an app what will need microphone access
- OS pop over to unblock microphone appears, tap unblock
Then light stays on till a reboot or uninstalling the app. Killing the app does not change it and the running services show that the app is not in memory when the microphone light is on.
If the microphone is unblocked at OS level before using the app, no issues.
For now still happening on both stock Pixel and Graphene OS.