Как уже упоминал Джон Скит, вашему коду потребовалось бы огромное количество времени для запуска - от 2 до 4 миллионов, что никоим образом не практично. Честно говоря, я удивлен, что стек вообще иссяк, я думаю, что код будет работать просто так смехотворно.
Вы должны использовать итеративный подход. Вот более хорошая реализация последовательности Фибоначчи:
static long fib(long i){
if ( i == 0 || i == 1 ) return 1;
long a = 1; //This is the 0th element
long b = 1; //This is the 1st element
while( i-- > 1 ){ //Each iteration, sets a and b to the next element in the fibonacci sequence
long temp = b;
a += b;
b = a;
a = temp;
}
return b;
}