Microsoft actually built this functionality into Windows, and intentionally associates a given user session with a "Desktop" resource. When you use Remote Desktop (a.k.a Terminal Services) to connect to a Windows computer, that connection is associated with a different "Desktop" and therefore runs completely separately from someone logged in at the console or on another remote session. It goes likewise for Fast User Switching.
However, the sales and marketing part of the company noted that if two people are logged on to the computer at the same time, it's kind of like running two copies of Windows simultaneously, even though you've only paid for one.
So the consumer versions of Windows restrict you to one user logged on at a time. When someone else logs on, all existing sessions are suspended. This isn't a technical limitation, it's an artificially-imposed restriction.
The "Server" versions of Windows generously allow you to have two users logged on to a single server simultaneously. You can even have two instances of the same user logged on at once, and the desktop sessions will be kept separate.