Yes, using pipe (just like using any function, really) comes with a tradeoff in terms of memory/CPU usage. Since you are adding something, then it'll use more resources.
However, whether this is critical in your application is largely a philosophical question that only you can answer with some hard data. Try using both things with as close to "real" life as possible and see the differences using, for example, microbenchmark or bench packages. You can also use code profiler in RStudio for more visual approach with graphs and stuff.
Just as a rule of thumb though, while pipes do add a bit of overhead in terms of computations, they also reduce mental overhead (obviously, IMHO) of making your intentions much clearer.
To your specific question about entire pipes being stored in memory - I'm not sure I understand what you are saying, but it seems to me that answer to your question is that no, pipes don't store anything in memory implicitly.