Synchronize kostet auch relativ viel Zeit. Wenn es zu oft aufgerufen wird, dann dauert es unterm Strich womöglich länger das Chart als wenn alles im MainThread erledigt wird.
Wenn es nur um eine Berechnung geht und es nur einen zusätzlichen Thread gibt, dann beschleunigt ein Thread gar nichts. Es sorgt nur dafür, dass die Benutzeroberfläche noch bedienbar bleibt.