"Application" is part of VCL, and thus is not thread-safe (likely in maintaining a non-thread-safe list of components it owns).
The project I'm working on has several instances where Application is set as Owner, and Self is not an option (class method). I would like to pass "nil" instead, given that the variable is freed at the end of this function.
Assuming someone forgets to free an Application-owned variable:
when the Application closes, the memory gets freed. But I also read that Windows keeps track of the memory assigned to each process. So, theoretically, if a nil-owned variable was not freed, Windows would release it when the Application / process are terminated.
What benefit, then, in setting the owner to Application as opposed to Nil?
The following question talks about responsibility of freeing nil-owned vars, but stops there: