In theoretical CS you use garbage collection to work on your toy projects and throw-away programs used for collecting information in order to write a paper. In applied CS, you don't use inefficient things like garbage collection, but instead manually manage your memory using linear arena/region allocators, thread-local free-list buckets and pool allocators to achieve maximum efficiency and low power consumption.