No, the classes/members I am after are all public.
I did a bit more digging and found out that we have two assemblies which define classes in the same namespace with the same class names but the root namespace differs only in case. For example:
foo.bar.Class and Foo.Bar.Class
Not ideal, but there you go.
When the "NamingMethod" is set to "MemberName" this appears to cause as clash and I end up with these dodgy ToC entries with N:, T: and M: prefixes that don't link anywhere. Changing the "NamingMethod" to "Guid" sorts it out though
Hope this helps someone else.