> The lines on the other hand have to be cleared from the map and recreated on each timer tick.
You don't need to clear them out. You'll just update the geometry property on each graphic.
I had around 200--300 lines updating continuously 60 times per second, and over 8000 lines rendering total (not everything updates every second), and I was able to smoothly pan and zoom around while that was ongoing. Granted I'm on a rather powerful laptop, but for extreme scenarios like this, I think you'd want to run on powerful hardware.
My sample might be useful to you as it tries to really optimize how animation updates are done in bulk on each UI thread update, rather than hammering it on individual timer updates.
Also one thing to consider: I was using UWP and not WPF. We've found that UWP's .NET Native compiler delivers over twice as fast interop performance over the .NET Framework that WPF uses. While the interop layer normally isn't hit that hard, in these constantly updating features scenarios, you're hitting that interop layer relatively harder, and rendering performance can suffer somewhat from it. Also UWP has a much better composition layer that allows us to more efficiently render DX11 to the screen with much less overhead than WPF can do. UWP does require targeting Windows 10 though.
Also you mentioned 10.2.7 earlier. Have you tried 100.2.1 ? Lots of changes has happened since then, and we spent a lot of time improving WPF rendering performance in 100.2.1, and the upcoming 100.3 will be even better (and getting a lot closer to what UWP can deliver).