A RECEIVE
statement will only returns messages belonging to a single conversation group. This is explicitly done in order to simplify processing of correlated messages in multi-threaded environment (max_queue_readers > 1). See Conversation Group Locks for details.
Unless you did any explicit conversation group management, each individual conversation is a separate conversation group. So you probably only have 100 messages per conversation in your queue.