Whenever you change the content of the text, the underlying geometry has to be regenerated but unless you have 100’s of text objects all being updated at once, this should not be an issue.
Whenever you change a string or concatenate a string and given strings are immutable, you will get garbage collection.
Doing something like this will result in GC.
m_TextComponent.text = "You earn " + numCoins + " coins!";
Instead you can use the TMP_Text.SetText() function which allows you to combine strings and variables without GC.
private string m_Message_01 = "You earn {0} coins!";
// Then somewhere in your code...
m_TextComponent.SetText(m_Message_01, numCoins);
Take a look at the example scene “Benchmark (Floating Text)” which displays lots of changing numbers which also fade over time.
In terms of the upgrade issues, please see the following post which also references the top sticky post in this section of the user forum.