If someone says, "Every once in a while", usually how long is this period(cycle)?
Similar expressions like 'a moment' mostly refer to a relatively short amount of time; depending on the context, it could be seconds, minutes, or maybe even hours. On the other hand, 'Every once in a while' just implies a relatively long amount of time. In this context, as the grandpa is associating the term with meeting a special person, and the fact that it is not that often that one meets such a person. It could indicate at least a few months.