There’s also a danger, which I’m currently ignoring, that by not freeing them or keeping track of them , you gradually use up memory and things begin to break eventually.
I also think (awaiting correction) that there may be differences between using one part of the API and another (safe_nodejs / DOM / DOM safeNfs) in terms of network activity when calling a single API method. For example, some API methods may commit immediately, while others remain pending until the commit is triggered. I could be wrong about this!
At some point these details will need clarifying, but for the time being ensuring they are freed at some point should be seen as a minimum, while keeping them around for re-use is always going to help rather than hinder speed, though not necessarily a big deal in many situations.
Note that they all get freed if you free the app handle, so not necessary to free each one if you ever free that. Also, all are freed when the page is refreshed, tab closed, browser shut down etc.