switchboard.dequeue can loop and write log entries until it runs out of space.
switchboard.dequeue() attempts to open the queue entry .pck file, rename it as .bak for recovery and unpickle the message and msgdata. The issue is that if for some reason, it can't open the file, this is not detected. An exception is thrown followed by other exceptions in attempting to process the "unparseable" message, but the queue entry is left in the queue so this repeats on the runner's next pass and we continue to log an endless stream of exceptions and tracebacks.
I think the solution is not in dequeue because when the runner calls dequeue, it expects to get a message and msgdata back and there's nothing meaningful we can give it. Rather, I think the solution is for switchboard.get_files() to ensure the file is readable and "preserve" it and log the fact if not.
Note that this is unlikely to actually happen in practice. It occurred because mailman withlist was being run as root rather than the mailman user and created a queue entry only readable by root.