В этом нет необходимости в рекурсии. Просто запишите символы, которые вы хотите в вашей строке, например:
string allowedCharacters = "abcdefghijklmnopqrstuvwxyz0123456789";
Тогда вы можете просто получить символы случайным образом:
Random rnd = new Random();
string randomString(int length)
{
int num = allowedCharacters.Length;
return new string(Enumerable.Range(0, length)
.Select(i => allowedCharacters[rnd.Next(0, num)])
.ToArray());
}
Наконец, вы можете использовать это для генерации строки произвольной длины:
// Outputs a random string of a length between 5 and 49 characters
Console.WriteLine(randomString(rnd.Next(5, 50)));