С точки зрения операционной системы, нет смысла освобождать память, так как ваша программа завершает свою работу, все, что делает, это медленное завершение работы. Прекращение работы вашего приложения разрушает все ваше адресное пространство, оно освобождает все , которое вы выделяете в куче сразу. явный вызов free
при закрытии приложения - это просто перетасовывание указателей в куче, которые все равно будут выброшены.
Основная причина, по которой мы так стараемся освободить все в явном виде, заключается в том, чтобы быть уверенным в том, что мы не теряем память и наш объем памяти не растет вечно.
Но если вы можете быть уверены, что это статично, что будет только один, и что вы не можете безопасно освободить его, пока все другие ваши объекты не будут освобождены, это тот случай, когда лучше всего позволить прекращению приложения позаботиться об этом за вас.