Your sample does generate a "hevc @ 0x168ca90] Out of pu + coeff intermediate memory: pus=768" warning which doesn't seem to be handled well.
I've forwarded the report to our hevc codec guy.
The bitrate limits are complicated. Generally higher bitrates means more motion vectors which tends increase cache misses and so increase sdram bandwidth. sdram bandwidth is usually the constraint on playing harder samples.
You can get a slight increase in sdram bandwidth with hdmi_enable4kp60=1 (even if you don't use a 4kp60 mode) as it runs the AXI bus at 550MHz rather than 500MHz.
The GUI overlay takes some bandwidth, so subs, OSD, debug info etc will cost some additional bandwidth.
It may also be worth monitoring the hevc clock (vcgencmd measure_clock hevc) when the video is playing. I believe it will be 500MHz when busy and 250MHz when less busy. If it's dropping to 250MHz when your stream is playing that would limit the streams you can play.
hevc can be overclocked, or you can disable the lower frequency (force_turbo=1 in config.txt) which could help.