the faulty axis labels are unrelated to the memory leak fix. Great news 
Thank you, good news. It allows me to close the bug report.
The only difference I can think of is that my MacBook OS was upgraded between the ide builds. The builds that label correctly were done before the upgrade, the build that label incorrectly were done after the upgrade.
The upgrade was from MacOs Sequoia 15.6.x to 15.7 and more significantly Xcode 16.4 to 26
I feel quite certain that the cause is FcpUpDeluxe incompatibility with Xcode 26.0. I'm guessing that you were using Xcode 15/16?
Sorry, I don't feel myself as a mac user, I only have macOS 12 as a VM on a Windows host and am happy that I have sufficient knowledge to do some Lazarus tests there...
You should report the issue to the bugtracker. But providing a TAChart sample as a test bed is way too complex, such an issue should become apparent in some simpler tests, e.g. by drawing to a canvas, and this is where a developer could step in.
I do not believe that the issue has something to do with FPCUpDeluxe, but rather maybe with Laz/main or FPC/main. BTW, when you link your Laz/main with FPC 3.2.2 (this is the combination that I am using for cocoa), does the labeling issue disappear? In this case, the incompatibility could be an incompatibility of FPC/main with XCode 26. For this test, you probably should make a new separate Laz/main+FPC3.2.2 installation with FPCUpDeluxe to avoid damaging your work environment - you can simply delete it afterwards.
You could also try to debug TAChart to try to understand which step fails to cause the irregularly spaced axis labels, and then based on this result you could write a simpler test application for the bug report (or I can do this for you). You could just drop a client-aligned TChart on a form of well-defined size (e.g. 500x300 - because labels depend on the size of the chart), and hide the bottom axis (otherwise you will be confused by that axis appearing in the debugger). In the project options, go to "Additions and overrides" and define a custom option, either in the project or in the session, named "-gwdwarfsets" (without quotes) - this way you will be able to step into the TAChart units. Then load the TAChart unit TAIntervalSources and set a break-point at the first instruction of TIntervalChartSource.CalculateIntervals - this is where the labels are calculated, and then step through the code at runtime. When I do this on my system, the first instruction CalcMinMaxCount returns minCount = 8 and maxcount = 43. The branch "if aipInteger in Params.Options" is skipped. "if aipUseNiceSteps", however, is entered. The first value of s is 1 and does not change in the "while" loop; when this "if" is exited, bestcount has the value 11. The branch "if aipUseCount" should not be entered (your description sounds, though, as if it is). At the end, ABestStep hat the value 0.2000...01, and ABestStart is -1.2. When you compare these observations with what happens on your machine we maybe can find the place where the calculation goes wrong.
When you do these tests report the results, I'll be happy to give you further instructions. No problem if you don't want to or don't have the time for it: this seems to be a fundamental issue with XCode 26, and I am rather sure that it will reappear later at another place.