Lastly, I've stumbled upon an error I did not expect. I redirected users inside my controller, based on some conditions. But for a strange reason, the redirects did not always work. Here is how to prevent things like that. Add a "options: no_cache" parameter to your mymodule.routing.yml to prevent the controller from being cached:
mymodule.dashboard:
path: '/dashboard'
defaults:
_controller: '\Drupal\mymodule\Controller\Dashboard::render'
_title: 'Dashboard'
requirements:
_role: 'authenticated'
options:
no_cache: 'TRUE'