I'd expect that they're doing this because they'd like to diagnose crashes or bugs on systems that they don't have the hardware for. It's still somewhat creepy and possibly a fingerprinting mechanism.
But Facebook? Not so much.
There are definitely some non-shady useful reasons to do this, but Facebook has sorta lost my default assumption of not-evil, yea.
Edit: see for instance https://www.usenix.org/conference/usenixsecurity17/technical...
I don't know, you could be right—maybe Facebook really wants their analysis to only run on their own servers. It just seems like a stretch to me.
Next step to reduce creepiness is to only upload info on system libraries that actually affect the app (so if some users experience crashes and others don't, they can trace it to differences in system libraries).
What are the risks?