You need CONTENT=ESCAPE instead of CONTENT=STRING. Here's an example:

Class Utils.XML Extends (%RegisteredObject, %XML.Adaptor)
{

Property PACPROBLEMAS As %String(CONTENT = "ESCAPE", MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

/// do ##class(Utils.XML).Test()
ClassMethod Test()
{
	set obj = ..%New()
	set obj.PACPROBLEMAS = "1<2"
	do obj.XMLExportToString(.xml)
	zw xml
}

}

Produces:

<XML><PAC_PROBLEMAS>1&lt;2</PAC_PROBLEMAS></XML>

Documentation.

What's "RO" stand for?  

ReadOnly.

After the customer deployment, if there is any change made on the production settings (e.g. changing an AE Title on the DICOM service), those settings are stored in the APPCODE, and the settings will be lost after a container PODS restart (kubernetes recreating the PODS).

Two ways to avoid that:

Great article!

For cases, where you don't want to share the source at all (even if it's immediately deleted), the following approach would work:

1. On your system (with source code) execute:

set p=##class(%Studio.Project).%New()
do p.AddItem("WH.Color.cls")
do p.AddItem("WH.Size.cls")
do p.DeployToFile("c:\test\app.xml",,1)

It will create an XML export with object code only and no source code included.

2. Transfer the file into a target system and execute:

set sc=##class(%Studio.Project).InstallFromFile("c:\test\app.xml")