Yes, it is. Because rbtree only stores those upstreams added by the directive "upstream", and there are other ways of adding upstreams like "proxy_pass". 
However, for the sake of performance, perhaps I can move those upstreams added by "upstream" out of umcf->upstreams array to avoid redundant search. 
I will look into this issue and update soon. :)