You are calling var random = new Random();
to quickly together. Since the default seed is time based, the seed is the same. Better to create this variable once and Random.Next()
every time you need it.
public static class DataGenerator
{
private readonly static Random random = new Random();
public static string GenerateRandomString(int length)
{
//etc etc using random.Next()
}
}