Are you just loading them as markers? Clusters etc? It's down to an app by app basis really.
We operate a specific tool which loads over 100k pins, but not at once, we found the sweet spot for performance, to keep it updating in under 200ms between mode changes, zooms and moves was to use the following thresholds, and this is specific to our application, and what it needs to do.
0-6,500 in the viewing area, display as pins on the map, fed into markerclusterer, moving around/changing "view modes" in this range, just loads the delta between what they last loaded, and what they can now see, lightning fast loading, even up around the 6.5k mark, panning and zooming while loading in new pins feels instant, we only ever load what's in the visible area via AJAX
6,500+ Here I do some work server side to make a rough clustering system. I take the area we're looking on the map, and query Solr (where we have the map pin data) for all the pins in that range, I get the total, and now I cut up the map a few times, if you imagine I ask each quadrant of the map for it's count, if it's 0, I ignore it on the next pass, and I drill down a bit, dividing the quadrants into smaller quadrants, not too much, just like 3 passes, with an optional extra pass for dense areas, where the pin count is still high. Now I just send these 'areas' as JSON to the front and generate some pins on the map with the total pins etc, which aren't real clusters, but on click, they zoom to the bounds of the quadrant, so it looks and acts like a cluster essentially.
I'm aware there's a few key differences in our implementation obviously, Solr with spatial searching vs a GeoJson file, but when the numbers get large, if you want to make something responsive and nice to use, you can't just expect to throw huge waves of data into the page, so maybe something like I described here will help you, depending on how much you can do with it on the server beforehand. I just wanted to give you a flavour of how I get around the numbers issue
If you look at the Leaflet Github, they have some examples there, but only go up to 50k, and it's not GeoJSON, it's generated on the fly, but they provide an easy way to test thresholds in different browsers as they are easy to modify to test load any number of pins you like
https://github.com/Leaflet/Leaflet.markercluster/tree/master/example That might be somewhere to start.