as speed is of the essence in TPF programs, I would guess that a hashing function distributes requests across some number of buckets into which the RLs are distributed -- with a bit map to assign open ones or a linked list of assigned RLs. Load balancing gets you to a particular bucket that hashes to a group of RLs, then you get the first open one in that group.
This is also a fast way to get to an RL on lookup particularly if the group is sparse at any time, meaning that a tree lookup would waste cycles compared to a hash to buckets with lists of RLs that are active or open.
Not involved in the industry or familiar with the actual code, thus I am not speaking authoritatively only giving a reasoned guess