I never talked about following lists, these should stay separated, and maybe re-thinked to avoid the problems caused by the atomic structure.
About memory usage, we should reason keeping in consideration the real sizes: an average profile with 10 relays takes less than 1000 bytes, and the client can easily discard the useless data from memory as soon as it has been received.