I can't see any other definition of Controls. So I really can't see where the ambiguity would come from.
There is something weird going on here, if you do this:
(pprint (mapcar (lambda (x) (invoke x "ToString")) (rdnzl-array-to-list (invoke (invoke tlp "GetType") "GetProperties"))))
the first entries are
"System.Windows.Forms.TableLayoutControlCollection Controls" "ControlCollection Controls"
so there is actually an ambiguity here, where the first property is the one documented. I don't understand what the second one is. Of course, these two properties are only differentiated by their return-value which I didn't think was actually possible. And look at this:
RDNZL-USER(202): (invoke tlp "get_Controls") #<RDNZL::CONTAINER System.Windows.Forms.TableLayoutControlCollection #x5f2ca208>
That's the expected result, and there are actually two get_Controls-method as well, so that shouldn't really have worked either.