You answered your first question with your second question... to save memory.
Linked raster images can change outside the application. If a linked image were to change, The effort required to update every symbol containing that link could be astronomical. And in many cases would cause so much effort that the application couldn't handle it.
Imagine a linked image in a symbol which has been transformed and distorted 50 times..... it would be incredibly slow to update if the link data changed. Now what if there were 50 symbols like that, each requiring a link update.... hours to update on the fastest system.
To this end Illustrator requires you to embed the raster image rather than link it. This way Illustrator can merely reference the embedded image code for each symbol rather than relying on external data.