Man, I know I have a problem, and I thought it was bad at about 700 tabs across 25 windows (virtual desktops are enablers for the window count). But seeing this thread I clearly need to up my game/download more memory.
In principle yes. The problem is that they loose their topicness and quickly become "oh this was the closest virtual desktops to where you were in the grid with an empty space." This is largely because I made the mistake of originally implementing the transition system as a grid (this was 5 years ago or so). Since then I realized that I basically want a button that will let me create a new topic space, and then remove that space automatically when I close the last window in it. Figuring out how gc stale topics (I can recreate them from memory) and/or discover which topics already have spaces is the hard part (I have had the ability to display topics on desktops via conky for years and that doesn't seem to have helped).
I have also thought about trying to decouple how spaces are associated per monitor, but couldn't figure out a way to interact with such a system that wouldn't leave my brain lost somewhere in even higher dimensional virtual spaces than it already is!
Reading your comments put into words a behavior pattern I didn't fully recognize I'd adopted, though certainly not to the extreme as you (or with the direct intent).
I noticed that my tab + window use started to balloon when it occurred to me that rather than dividing virtual desktops by task (one for dev, one for email/general browsing, etc) I could start moving browser windows from each instance to different locations based upon whatever I was doing (or for that matter, application-specific tasks). It's an exceedingly simplified (and admittedly very dumbed down) version of what it sounds like I understand you're doing, but the strange thing is that I found expanding your mental state across virtual desktops with the granularity of a browser instance/window/set of windows is an oddly freeing phenomenon.
It's a sense of euphoria I don't think the average Windows user will fully appreciate even with the integration of virtual desktops in Windows 10 since most are typically not familiar with it!
I agree that the feeling is quite freeing, and very effective for sandboxing activities to prevent distraction, the only trade off is when I have run a garbage collection workflow to reclaim space (usually completely adhoc). In fact writing this now, it seems to me that it almost completely removes the need for careful and deliberate use of the interface, you can do what you want nearly at the speed of thought because the mechanics don't get in your way. The trick is that you have to engineer the action space that you are in to prevent certain kinds of thoughts such as "I wonder if I have new email" from expressing themselves as finger presses. (Side note: this makes me think that there are going to be some really hard to solve problems when someone finally gets the brain computer interface hardware working, because determining what thoughts to transform into actions and what thoughts should just remain thoughts is a fundamental problem for the brain itself.)
Rearrangement of the contents of virtual desktops and the desktops themselves is a topic in and of itself. The emacs world has a lot of tooling around this as well (see for example [0]), and the are a number of patterns/workflows for managing/composing/recombining workspaces that would surely translate other window managers since they deal with essentially the same issues.
For me the issue tends to be that it is easier and faster to create a new window of whatever kind wherever I am to answer the immediate need than to find the right one to answer it in, so I just open a new terminal window, jump to where I need to be, do what I need to do, and then ... forget to close it. Similar issue with dragging a browser window around with me wherever I go. One answer to this might be to slightly modify the behavior of the "open new instance of this program" key to act instead as "jump to most recent instance of this program, or if it does not exist, create it and jump to it."
One thing related to gc is that I started to work on but did not manage to complete, was the ability to snapshot the layout of all windows across all desktops in an x session. That would allow effective patterns to persist across restarts without the need to come up with a way to specify how things should be arranged. It would allow them to be arranged by whatever means, saved, and restored. I'll probably get back to it at some point.
As a note, anyone with the inclination can do this kind of thing in any language as long as it has xlib bindings.