PHP chrome-php/chrome timed out

I’m using Symfony’s chrome-php/chrome library to measure page load performance. Some pages of the same site load, and some do not, with an error Operation timed out after 30s. Increased the timeout to a minute and up to two, but it doesn’t help. I don’t understand what the problem is, I hope for help from people who care) Function code:

    public function checkPageMetrics(string $url, string $deviceType = 'desktop'): array
{
    if (!in_array($deviceType, ['desktop', 'mobile'])) {
        throw new InvalidArgumentException('Device type must be either "desktop" or "mobile"');
    }

    $browserFactory = new BrowserFactory('/usr/bin/google-chrome');

    $browser = $browserFactory->createBrowser([
        'headless' => true,
        'noSandbox' => true,
        'windowSize' => $deviceType === 'mobile' ? [375, 812] : [1920, 1080],
        'userAgent' => $deviceType === 'mobile'
            ? 'Mozilla/5.0 (Linux; Android 10; Pixel 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36'
            : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
    ]);

    try {
        $page = $browser->createPage();

        $page->addPreScript('Object.defineProperty(navigator, "webdriver", { get: () => false });');

        $page->addPreScript('
            window.performanceMetrics = {
                ttfb: 0,
                domInteractive: 0,
                loadEventEnd: 0
            };

            new PerformanceObserver((list) => {
                const entries = list.getEntries();
                if (entries.length > 0) {
                    window.performanceMetrics.ttfb = entries[0].responseStart;
                }
            }).observe({type: "navigation", buffered: true});
            
            document.addEventListener("readystatechange", () => {
                if (document.readyState === "interactive") {
                    window.performanceMetrics.domInteractive = performance.now();
                }
            });
            
            window.addEventListener("load", () => {
                window.performanceMetrics.loadEventEnd = performance.now();
            });
        ');

        $navigation = $page->navigate($url);
        $navigation->waitForNavigation(Page::LOAD, 30000);

        $metrics = $page->evaluate('window.performanceMetrics')->getReturnValue();

        return [
            'device_type' => $deviceType,
            'first_byte_ms' => round($metrics['ttfb']),
            'interactive_ms' => round($metrics['domInteractive']),
            'complete_load_ms' => round($metrics['loadEventEnd']),
            'error' => null
        ];
    } catch (Exception $e) {
        return [
            'device_type' => $deviceType,
            'first_byte_ms' => null,
            'interactive_ms' => null,
            'complete_load_ms' => null,
            'error' => $e->getMessage()
        ];
    } catch (OperationTimedOut $e) {
        return [
            'device_type' => $deviceType,
            'first_byte_ms' => null,
            'interactive_ms' => null,
            'complete_load_ms' => null,
            'error' => $e->getMessage()
        ];
    } catch (NavigationExpired $e) {
        return [
            'device_type' => $deviceType,
            'first_byte_ms' => null,
            'interactive_ms' => null,
            'complete_load_ms' => null,
            'error' => $e->getMessage()
        ];
    }
}