ntvdm.exe by itself is not really the culprit, it's the old dos program that is running within the virtual dos environment that is.
To give an example…
The box at work has a 1.8Gb Intel Pentium 4 processor with 1Gb of ram.
When I run the back office software and I need to connect to the registers?
This program written by Hewlett Packard called gemcom (written for windows 3.1) runs, and when it does ntvdm.exe uses between 90 and 99% of the processor!
The entire system comes to a halt while this little program runs and all it does is act like a communication relay between the registers and the back office.
I cannot even open any other programs.
So yeah, if you should happen to notice that ntvdm is running when you get these errors? My guess is that its a very old dos based program running in the background, or perhaps even a support TSR application that is running for whatever reason. (I might not have this right… "Terminal Stay Resident" apps which were used by W3.1 and W95, though not so much in W98… That would latch onto the OS kernel to hold and lock resources for various programs that absolutely needed those resources.)
Which was a nightmare to figure out if the TSR in question was poorly written, cause they were resource hogs and caused many a BSOD.