'Maximum of 20 characters
Public Foo as PersistentString(20)
...does not limit the string to 20 characters. The device thinks it does, as it will overwrite and corrupt nearby data in EEPROMif given the chance to. Futher testing is required to determine if this is a Compiler specific issue, and if so, which compiler (hence the Beta forum post). The soonest I can try it on a VM device will be tomorrow.
It is important to note that the implementation of the PersistentString type is identical to that of the BoundedString type and is therefore not protected from overwriting the boundaries of the data item.