Is there a technical limitation why these never seem to be grouped into a thread? I generally appreciate the updates on my package, but I also value a tidy inbox.
The word has been corrupted beyond all meaning, primarily by Google. GMail has a thing they call "threads", which isn't a threaded view. A threaded view is at least a tree, that shows the actual who-replied-to-who of an email chain, which itself is (hopefully) a DAG.
GMail's "threads" are also heuristically grouped (which is good b/c, as another comment here notes, programmers are terrible at emitting the correct header), but also will just sometimes arbitrarily break emails which do share a common ancestor into separate threads.
As it is, Google has so ruined people's ability to communicate that it is not uncommon to see GMail users reply to the wrong email, b/c they're just replying to the last email in the set of emails sharing a common ancestor.
Now ever third app has "threads", like Slack, where "thread" is a flat, one layer-deep thing, and half the time nobody can tell who is responding to who anymore. (And seemingly nobody understand how to blockquote, either. Half my coworkers use inline code spans for blockquote, for whatever reason.)