Well I did solve the problem. This was overkill because i had to do something because the problem was costing me productivity...
Warning, I've got 20+ years of *nix kernel development so I am telling you what I discovered and how I fixed it. If you don't understand this then consider you probably shouldn't even try because risk is high of screwing things up even worse.
In $HOME/Library/Suggestions you will find several sqlite .db files. I am now booted to 10.12.6 and I made the fix on whatever o/s was current on 21 Sep 2016 because I kept the files. But problem did persist through at least one upgrade. I looked at contents of these databases and they contained information related to rules and string contents and other things related to internet content so that was a good clue..
The $HOME directory is going to be your non-root name like /Users/David .. not root.
then I booted to single user mode, just for safety. You could probably get away with doing this in normal multiuser mode, but make sure you don't fire up browser and disable email and I even turned off internet access to prevent these files from likely being touched. (Again, may be overkill but I didn't want to risk screwing up a database).
Then I simply cd to that directory
mv harvestqueue harvestqueold
mv journals journalsold
(I MAY have done same for some entities-related files, i just don't remember, but I would do these 3 first and see)
then rebooted. The system built new subdirectories and populated them. My post-mortem revealed that the original harvestqueueold/queue sql files were 5+MB, and then it got rebuilt, also the journals subdirectory had a file called snippets that also got repopulated.
I renamed them so I could restore them obviously. I would NOT do anything on web that involves any keychain activity and would not fire up email until you spend some time surfing web and seeing if suggestd footprint stays small. IN my case this was absolutely a cure and i was able to verify.
I apologize for not posting followup until now.
Remember, i am renaming some databases that it did recreate, you can clone the files and work with a copy and use sqlite database to see what those files contain. I did that and only remember thinking I didn't care if it lost that information. Your mileage may vary.
Root cause was absolutely memory leak related to rules in database, or perhaps circular or conflicting rules. Either way, solving problem is going to require removing content from one or more of these files..