No, it doesn't make a difference.
I'm concerned that if I chain too many commands with & I might run out of memory at some point.
If you're working in Cmd.exe, most of your commands are external – that is, they aren't handled by Cmd.exe itself but rather involve starting an .exe
as a separate process – which means their memory allocation only exists for as long as the .exe remains running. As soon as the process exits, all of its resources (allocated memory, open files, etc) are automatically cleaned up by the OS, without any involvement from Cmd.exe at all.1
In other words, resource cleanup is part of your OS process management, not part of the command shell, and the shape or style of the command line has no way of affecting it.
The concern would be valid for commands that are internal to the shell – Cmd.exe has very few, it's mostly PowerShell that lets you build large data structures right inside the shell's process – so in theory, if you had PowerShell functions or cmdlets written that deal with large amounts of data, their objects might linger around after the function returns; but eventually the CLR runtime will garbage-collect them long before it becomes an issue.
1 (The OS does keep a tiny bit of the process around until the invoker (Cmd.exe in this case) picks it up – the exit status code, specifically – but it's less than a kilobyte per process, and the very act of Cmd.exe waiting for the process to exit is what causes it to be collected, so a command shell is the exact kind of program where it's impossible for that to become an issue.)