My theory is that the BBS is somehow dynamically creating columns in the grid or tree at runtime, but not manually disposing of them when it's unloaded. DevExpress basically expects you to dispose of everything, so I'm wondering if somehow the BBS is still linked to the DevExpress controls and preventing them from being released from memory correctly. Is this a possibility?
I can open and close a test form I have created without filling the BO that is linked to the BBS, and it releases all memory correctly when the form is closed. If I fill the BO when opening the form, it will not release all memory once closed. Any ideas here?
But, if I am manually disposing of the BO and the BBS in the FormClosed event, shouldn't this be enough no matter where it's being filled or instantiated?
Also, what is the proper and recommended way to manage memory as far as StrataFrame objects go? Should we be manually disposing of things when they are no longer in use or is it ok to leave that to the GC?
Yes.
Not if something holds on to an event or an instance binding and will not release it.
If you drop an instance on the form, the Dispose should be intrinsically called as all BOs inplement the IDidposable interface. If done in code, then manually Dispose of the object.