I wonder what sort of per impact this would have. Most of the time there will only be a few messages, right? So it shouldn't make much of a different. 

However, it things go sidewise, and there is a missing message, in addition to just eating memory, there will now be an extra overhead of sorting the ever-increasing array on every call. Perhaps it is not too much to worry about, because it would already be in a failed state doomed to fail in that situation, and this change would just cause the process to die sooner.