I didn't find such memory leaks in my application, though I don't do stage handling. What I would look at is where the `stage` reference in the lambda is coming from. You say you have a list of open stages. When you close a stage, do you remove the references to that stage from all places? What about the object that is holding the reference `stage` in the lambda?
On Thu, Apr 18, 2024 at 1:58 PM Thiago Milczarek Sayão < thiago.sa...@gmail.com> wrote: > Hi, > > I'm pretty sure setOnAction is holding references. > > I have a "Open Windows" menu on my application where it lists the Stages > opened and if you click, it calls stage.toFront(): > > menuItem.seOnAction(e -> stage.toFront()) > > I had many crash reports, all OOM. I got the hprof files and analyzed them > - turns out this was holding references to all closed stages. > > To fix it, I call setOnAction(null) when the stage is closed. > > I will investigate further and provide an example. > > -- Thiago. >