Ah, I understand. Would never have found that out myself :-)
For some reason Refresh didn't have effect. But Application.ProcessMessages did. Could it be a bug in Refresh for Linux? You run Windows, if I remember right.
Just for fun I moved the positioning code to Chart.AfterDraw and from there it works without anything else. But then Captions are re-positioned also when they don't need to be, so I'll use ProcessMessages, or Refresh if that can be made to work.
About leaks, yes this was just a test. Axis, Caption, Transformations and AutoscaleTransformation should be free'd if a pane is removed. Other than that, there is no leak that I'm aware of.