Yes, heaven forbid we make life easy :lol: I haven't used Unity so I don't know how it manages UI. I read you called a method "setCaption", which made me think back in the day with Win32 and MFC stuff (/me shuddering). MSDNI think has the only article out there that describes data binding in sufficient detail, but the concept applies to any framework, language, or platform. I've written ports for several other languages and it's a lifesaver. If Unity doesn't have something equivalent to that, it shouldn't be impossible to write a wrapper for it.
I think I'm referencing the object in another place in the program and that's what's causing the problem when I destroy it
That seems weird to me because strings are immutable. The label control will have its own instance of the string, newly created once you call the setCaption method. I'd be more inclined to investigate if the label control is dereferenced or disappearing somehow (logic issue?).