I noticed that OracleXmlType is disposable so should be disposed. Who is responsible for call Dispose method on OracleXmlType? My code or maybe Oracle provider already do that? If so, when does it do that? I think that this should be described in documentation.
Your code is responsible for calling Dispose on OracleXmlType or any other .NET object. If you don't, the GC does free these resources eventually. However, the GC will be slower releasing resources than an explicit Dispose call. The GC doesn't know exactly when your application ceases to use an OracleXmlType instance.
How Dispose method works and why it should be called is the same across all .NET objects and Microsoft documents it well. In general, the ODP.NET documentation will not overlap with these fundamental Microsoft .NET concepts that are already documented.