Strange behavior storing objects on an array

String _title;

String does not contain the actual bytes of the string, but instead contains a pointer to a string in the heap. Copying the struct or object containing the string does not copy the string content, which, I guess, is probably overwritten by the time you go fetch it.