У Google Chrome расширений есть 2 вида скриптов: background и, назавём их, foreground (Не помню точно, как они называются в документации).
Background работают тогда, когда запущено расширение, а foreground тогда, когда загружена определенная страница, которую вы прописали в manifest.json
Эти foreground скрипты подгружаются тогда, когда прогрузилась вся страница. Если что-то всё же блокирует страницу, то это и создаёт вам проблему.
Посмотрите в сторону background скриптов, но производительность Chrome немного упадёт, так как вам надо будет постоянно проверять, а какая страница была подгружена.