I'm still learning Nim, so maybe I am not seeing enough details, but I find this table to be logical. I do have a very strong C/C++/ASM/... background, and have long ago written my own Turbo Pascal compiler so maybe that's why I see it that way.
Things like a seq and string are objects that are 'constructed' and 'destructed', so they clean up after themselves when they leave scope. Pointers are pointing at other things that should clean up themselves, so it's logical that they don't clean up. I don't know about closures, I believe they will become (like all procs, on any scope) static code on a lower level and then they are never cleaned up nor should they be. They are not like closures in scripted languages where GCing them is necessary and expected.