Я бы вовсе не писал никакого кода, а настроил
сборщик данных типа
оповещение.
Берём инструкцию
Создание группы сборщиков данных для мониторинга счетчиков производительности
В пункте 6a применяем счётчик «Память \ Доступно МБ».
Ниже в параграфе «Чтобы настроить оповещения» пункт 5 можем не делать вовсе, а в пункте 6 указываем команду
shutdown /r
Устроит ли такой подход?