To download a message body, Usenapp ask the news server for it by sending the message-id.
The data that the news server returns is directly written to a file on disk (cache) with the hash of the message-id as filename.
I don't see how Usenapp could fail in this process and produce a file with the content of two messages.
Moreover, nothing has changed to the code of this process since a long way back.
So either the news server failed or Big Sur failed or Usenapp went crazy (while upgrading).
I'll walk through the source code to see if anything could have caused this, but I hardly doubt I will find anything.
Also, remember that Big Sur is in an early beta phase and can cause weird things.