Это нормальная картина, php выделяем память чанками, когда чанк заполнен - заполняется следующий, чанк, как правило заполняется не полностью, это зависит от размера чанка и типа данных. Но обычно отличия незначительные, в вашем случае 64мб выглядит странно, ОС не винда случайно?
Хотя я не совсем так сказал, в этой ошибке должны быть все 512мб, а отличаться будет измеренная память в самом скрипте
Такое ровное значение наталкивает на мысль, что из 512мб выделилось 64мб на какие-то нужды при запуске скрипта, можно проверить бесконечным циклом - посмотреть сколько ему памяти выделится