About your case: The new receiver puts at the end of the receivers list. pipelined_send() starts from the beginning of the list and iterates until the end.
If our queue is always full, each receiver should get a message because new receivers appends at the end. In my vision: we waste some time in that loop but in general should increase the throughout. But it should be tested. Yes, I'm gonna implement it and make a benchmark. But maybe it should be done in another patch thread?