Yes, I think the UI will not allow getting more than 1000 spans per view, so if there are missing, it can't draw the tree.
You set transaction_max_spans=2000, which really you shouldn't (I think you are getting more than 2000 because there are async operations where we don't enforce this limit). This way of using the trace_methods configuration is unrecommended. Spans should represent meaningful events, not just any method invocation. Not only this will make your waterfall view difficult to read, it is also very un-scalable.
In the future, we may add the ability to show call trees based on statistical/sampling profilers, which are more fit in terms of overhead.