Mi recomendación: Nunca.
Solo debe tener un token CSRF por sesión. Si la sesión se agota, el token CSRF caduca en este punto.
Como no hay forma de que un atacante lea el token CSRF (al menos no hay más riesgo de que un atacante lea un token CSRF como la cookie de ID de sesión), no hay necesidad de generar uno nuevo a menos que tener una nueva sesión para ir con ella.
La única excepción a esto que veo es que si se intenta enviar un formulario con una cookie de sesión de usuario válida, pero con un token CSRF incorrecto (es decir, el usuario está siendo atacado por otro sitio que está usando). En este caso, es posible que desee generar un nuevo token CSRF y marcarse una alerta para que se puedan investigar las solicitudes. Es posible que desee generar la alerta después del primer token de CSRF incorrecto (ya que las solicitudes que contienen un token de CSRF incorrecto no deberían suceder en absoluto), pero podría actualizar el token después de que n fallara los intentos de reducir las posibilidades de un token con fuerza bruta mientras permite que el usuario use su sistema sin que se le niegue el servicio (aunque la denegación de servicio es una preocupación menor en este caso ya que el ataque vendrá desde su propia máquina).