I'm pretty sure this table supports the non-repudiation features of AS2. So, it's not totally surprising it isn't cleaned up automatically.
Now, 2 million records isn't really a lot but if the app isn't used anymore, the data should be cleaned up.
My recommendation would be during a downtime, backup MsgBoxDb, export the table and truncate.