The problem was that by default, inetd allows 40 instantiations of the program it's executing. If it sees more, it thinks the program is looping and kills the daemon for a period of time. We increased this to 100 with the following line in /etc/inetd.conf and solved the problem.
Original inetd.conf entry:
pop3 stream tcp nowait root /usr/libexec/popper popper -T 100 -t /var/log/poplog -b /var/bulletins
New inetd.conf entry:
pop3 stream tcp nowait.100 root /usr/libexec/popper popper -T 100 -t /var/log/poplog -b /var/bulletins