With that many targets (257), you really don't want to default to showing time graphs for all your targets. That's going to be a significant issue because each new sample causes a repaint for all time graphs, so you're going to be constantly recalculating and repainting time graphs that aren't displayed.
For best results, hide all your time graphs, and then manually turn on time graphs when you want to compare a few.
This will get your startup time down to pretty much instantaneous (although MultiPing will still use all its available threads to resolve the names of all these targets - which will take a few seconds, although it won't take a lot of CPU time). (Turn off "Auto-Show added graphs" as well, to keep things under control easily).
Then, you can drop your "Time interval between pings" down to about 50 (which will exercise about 20 pings a second instead of the 3 per second you currently have). Note that with 512 byte packets, your going to need to understand your bandwidth limit, but that's a pretty easily calculation.
This should help *significantly* with CPU time. For regular data collection, just sort by IP or name - then when you're reviewing results, sort it by packet loss or latency - this shouldn't really cause you any CPU problems.
Let us know how this works (I'm duplicating this back to you via email).