Each call to bus.Subscribe creates a new consumer. So the first time it works, you have just one consumer on your queue and when you publish a message to it it's routed to that consumer.
The second time you call bus.Subscribe a second consumer is bound to the same queue. When RabbitMQ has multiple consumers on a single queue it round-robins messages to the consumers. It's a feature. That's how it does work-sharing out-of-the-box. Your message is routed to the first consumer, not the consumer that you just declared. Same for the 3rd, 4th, etc consumers, so it appears that message has not arrived.