I’ve seen occasional sluggish behavior when loading large libraries due to loading many project snapshots, but I don’t remember seeing it on regular projects. But then I’ve never had 300+ projects in a library.
I’ve also never seen it hang FCPX — the worse I’ve seen is taking one minute to load vs 5 seconds. That was on a library with 8,500 clips, 220 hours, and 20 terabytes, but probably no more than 30-40 projects including snapshots. Hardware was a top-spec 2017 iMac 27 and four-drive 32 TB OWC Thunderbolt array in RAID-0.
If you have any AVCHD material whatsoever which was imported using “leave files in place” instead of re-wrapping, this can cause unpredictable slowdowns due to generating many small random I/Os. I don’t remember it manifesting during project or library loading, but any such material should ideally be removed and re-imported using FCPX re-wrapping or externally re-wrapped with EditReady. Note externally re-wrapped material will have a different filename and characteristics so will not relink. If your film is using six year old material, it may include some AVCHD, so I suggest checking this. Usually the filename suffix is .M2TS, .MTS or .M2T.
The 3rd party utility Library File Manager allows exporting a .XLS spreadsheet with the name of each media file used in a library. This is one way to inspect the location and type of files used: https://www.arcticwhiteness.com/finalcutlibrarymanager/
I’m not saying this is the problem — it just came to mind. I have seen intermittent slow loading behavior on libraries with no AVCHD material but it was never really bad or hung FCPX. There can be some unpredictable referencing and loading of project snapshots, even when the user doesn’t open the snapshot. It might be some kind of pre-loading or project pre-fetch optimization which bogs down library initialization when there are many projects or snapshots.
Make sure you have plenty of spare disk space on the system drive and media drives.
Another step which might help is rebuild all Spotlight indexes on all drives, including the media drives. Apparently FCPX uses these to expedite file access. I’ve seen cases where rebuilding these helps performance when loading a library or scrolling the Event Browser. Procedure: https://support.apple.com/en-us/HT201716
While you’re doing that you may as well run Disk Utility First Aid on all volumes, just to ensure the file system is OK.
A standard FCPX troubleshooting step is reset user preferences, which is described here: https://support.apple.com/en-us/HT203477
You could also delete your render files using the procedure mentioned here: https://support.apple.com/kb/PH12704?locale=en_US
However I’m not sure those are needed when loading the library. Also I think this only deletes generated render files, not other generated files stored in the render folder such as audio peak data and video thumbnails. Those are used during library initialization but I think the only way to delete them is the manual procedure mentioned here. Anything like these steps should be approached very carefully and only after you verify good backups, especially file-level backups of the library file.
https://www.girafxmedia.com/index.php/2016/09/08/fixing-corrupted-final-cut-pro-x-project/