Вам правильно пишут: без callstack невозможно узнать, где именно ошибка вылезла, может даже не в этом методе, может где-то внутри GeneratePairGame, может randomLevel = null. Нужно логировать Exception, заверните тело кейса внутрь try-catch
case 2:
try
{
GeneratePairGame(randomLevel);
...
break;
}
catch(Exception ex)
{
Debug.Log(ex);
}
Тогда будет точно видно где и что произошло.