The basic assumption here is that namespaces (not restricted to "private") add access security; the meta-objects proposal itself supports this view because only public members may be iterated on NominalType objects. The meta-objects systems reveals many private facts, though. This is a list of known issues.
(1a) Consider:
package P
{
internal namespace ns;
ns class C {
ns var p;
}
public function f() { return new C }
}
A call to f yields a C object, to which typeOf can be applied. This yields an object with a name() method that returns a Name object; the qualifier of that name reveals ns.
(1b) If ns is internal then the internal namespace of a package can be stolen.
(2) The implementedBy method on InterfaceType reveals private classes throughout the system that implement interfaces available to an attacker (eg all public interfaces). If the classes thus revealed were hidden in a package by means of a private namespace but otherwise has public fields, the instances of these classes can now be attacked.
(3) The members method on UnionType reveals private constituents of a public/exported union type.
(4) Hidden base classes and base interfaces of public classes can be found by walking the superclass chain of a NominalType?.
(Please add more as you find them.)