The main goal of referencing thought the files is not in memory saving, but in saving your time in production. Let me explain.
For example, you make a movie with a character, which acts in 10 scenes. You've made 9 scenes, and in scene number 10 you've realized that something should be changed. If you just copy character from scene to scene - it would be a painful task, because you have to make this change in 10 separate files. But if your character is located in a separate file and linked into 10 scenes, it would not be a huge problem. You can just change character, and it will be updated in all 10 scenes.
To make this reference - simply pack your objects into collection, save file, and in the other file use File ⇾ Link to make a reference to the collection. Then collection is loaded, you may also click Object ⇾ Relations ⇾ Make library override to get the ability to move armature bones.
Referencing may be memory-efficient, if you use the same object in the scene. Take a look at this example: The grass on the right uses a bunch of objects that's duplicated across the field, while grass on the left is simpler, but every strand is individual:
This allows to save a lot of memory and decrease the render time.