Ответы выше верны. Я бы предложил следующие изменения в вашем коде:
1) Я бы предложил использовать StringBuilder вместо добавления строки постоянно. Строки являются неизменяемыми, поэтому при каждом добавлении новой строки создается новая строка. Если вы никогда не использовали StringBuilder, посмотрите его. Это очень полезно для такого рода работы.
2) Вы можете упростить повторное использование метода, если передадите длину в сам метод. Возможно, вы могли бы также передать массив chars, но я пропустил это.
3) Используйте каждый раз один и тот же случайный объект, как предложено выше.
public string GenerateRandomString(int length)
{
StringBuilder randomString = new StringBuilder(length);
for (int i = 0; i < length; i++)
randomString.Append(chars[(int)(_RandomObj.Next(chars.Length))].ToString());
return randomString.ToString();
}