Well, only if you mutate the data. And even then, most functional languages provide persistent data structures that allow efficient sharing of the unchanged parts of the data structure.
> Now my question is where do I learn about these nitty gritty's? Should I read about compilers more? Or systems? Or what?
I'd recommend choosing a functional language and an imperative language and learning both.