Stupid question, are there standard GC libraries that are used with C? Alternatively, what is the usual memory management practice? Is it typical just to keep track within the confines of the code you're writing and explicitly free memory when you're done with it?

Boehm GC is mentioned in the article: https://github.com/ivmai/bdwgc