Как и в большинстве не-init-методов, которые возвращают объект («всплывающее» - исключение, которое приходит на ум), объект, возвращаемый systemFontOfSize, автоматически высвобождается, и поэтому он будет освобожден в какой-то момент (очень близко) будущее.
Если вы хотите использовать объект, на который указывает ваша переменная «шрифт», за пределами локальной области видимости, вы должны сохранить его и освободить, когда он больше не нужен (или перед заменой другим шрифтом)
Редактировать: я просто перечитал, понял, что вы создаете шрифт каждый раз, так что 2-й абзац не так важен для вашего вопроса, но в любом случае, если шрифт не должен меняться много раз в секунду, я бы посчитал создание объекта шрифта вне метода drawrect. Я не знаю, какой практический эффект это окажет на ваш текущий FPS / отзывчивость, но в целом хорошо привыкнуть к тому, чтобы не выполнять такие вещи, как создание объектов с избыточностью несколько раз в циклах и т. Д.