John, all your statements have value.
I do not have the ability to use a different OS. Windows 10 all around, I'm afraid. I do have Windows 10 Home on one.
In order to test whether HelpScribble is the culprit (certainly could be) I'd need a CHM file that had two topics with the same keywords built some other way. The problem is: How do you get the HHK file extracted from the CHM file? I think (do not know) that this might help.
I have written a pre-processor of the HelpScribble topic grid file to find all the occurrences of duplicated keywords. It is helping. It has found a couple of dupes. One thing that I do find interesting is the use of 'nested index', where you have a subject and a sub-subject. I still need to verify, but I believe that I will not get a crash if two different topics contain the same nested index.
It is nice to have 32 gb, but since I only deal with the 32-bit FORTRAN, we have that overall limitation to deal with. And, yes, my users have (typically) 8-16 GB of memory.
As far as the overall program size, I have since reduced it to around 435 MB. One set of data was vastly over-allocated, and a smaller size would still do nicely.
Right now, invoking the Help file only increases the memory usage by about 22 MB, so should not be a problem.
Bill