С обоими утверждениями не согласен. По второму уточнение - разыменовывать нельзя, иначе UB. Освобождать вроде можно. Записывать в 0 не помню, но наверное тоже уб
UB - это читать/писать по адресу (void*)0, читать/писать по адресу с битовым представлением 0 может быть UB, а может и нет.