After some forethought the lovely Qgis people have come up with the issue being a limit on the number of open files. This is a deliberate security feature designed into Linux. Fortunately it is not, as was first alleged, an architectural limitation of Linux.
I have used the prlimit command with --nofile to increase the limit from the default 1024 to 10000 which deals with the problem most effectively. In order to make this limit increase permanent I changed the setting in /etc/security/limits.conf
This means I can go back to using a Linux virtual machine instead of a Windows one to work on NZ Rail Maps projects. Specifically I will be using a VM running Xubuntu 16.04 and Qgis version 2.99 build 313ec55 which has the fewest issues of Qgis 2.99 builds for Linux. This is actually the last master build available for Xubuntu 16.04 due to architectural changes. With testing the Linux VM running a project with a large number of aerial images open, Qgis handles the images much faster in Linux than Windows.
I just can't remember right now if there were other issues in Linux that made me switch to Windows, I think off memory it was mainly to do with being able to run different builds on the same computer (which was a physical computer for a while). This is much harder to do in Linux as the packages are not specifically configured for this option; when you update to a new version it always installs over the old. However running different VMs is one way of getting around it. Windows editions don't auto update as Linux does (when you run apt upgrade) which is handy. EDIT: There was one issue and that is to do with the rendering of distances on station labels, with 21.2 being commonly rendered as 21.1999999 for example. This means I need another VM running a different edition of Qgis to produce the outputs.
Coincidentally this fix came the same day as another longstanding problem was resolved at home; this one concerned the power supply to my house which has been unreliable, with significant drops in voltage being experienced on two previous occasions. The last one in February or March this year resulted in a call to Orion, who subsequently claimed that as no other customer had experienced the fault, it must be inside the house, and therefore outside their responsibility.
The problem started to occur again this week and had been observed on three days up until yesterday but as usual being an intermittent fault made it difficult to diagnose. But in this case I was helped when I discovered my next door neighbour, who is in the other flat within this property, which means our flats have separate phase wires and a common neutral wire from the power pole, reported the same issues. When we managed to get Orion to come out they said the most likely scenario was a faulty neutral connection. After two separate visits in the same evening they have replaced all three neutral joints: the one on the outside of the house, the one on the pole directly outside the house, and the one on the pole on the other side of the road where our power is actually tapped off from the lines network. And in spite of all the time lost in the evening, the power supply has been rock solid since, although we had to call them back when only replacing one of the joints didn't fix the issue. The furtherest away joint was found to be loose and corroded so that was most likely the cause.