Method to randomise a string's case
This entire method should be static, as it clearly does not require an object
new Random(Guid.NewGuid().GetHashCode()) is needlessly complicated. new Random() is initialized based on time by default
A simpler range from [0,2] can be used.
The changed variable can be entirely replaced by a switch and return structure

private static string Capitalized(string word) {
    return char.ToUpper(word[0]) + word.Substring(1);
}

private static string RandomCase(string word)
{
    int choice = new Random().Next(3);
    switch(choice) {
        case 0: return Capitalized(word);
        case 1: return word.ToUpper();
        case 2: default: return word;
    }
}