react-pdf can freeze the browser when generating large PDFs because PDF computation runs synchronously on the main thread. Moving PDF generation to a Web Worker resolves this by offloading the work to a separate thread, allowing the UI to remain responsive while showing progress to users.