I've been playing around with OxyPlot and found it to almost be a certainty that I recieve a "Collection was modified; enumeration operation may not execute." exception if I try to pan / zoom while adding points to the graph in real time.

Hi Eric, OxyPlot is not locking the model while refreshing. I would like to keep the library simple and think thread synchronization should be handled in the client code (I guess the alternative is to add synchronization objects to every list in the plotmodel?).
Please comment everyone that knows more about this than me :-) You could also create a minimal example that we can include in the library, and we will help to make it thread-safe!

So far, the safest way I have found of asynchronously updating a chart series is to add the points to the series from the point generating thread, using the UI dispatcher. Here is a view model which demonstrates this: