Arduino nano crashes - please advise

My suggestion: Add a serial.Println(n), printing a single number for each of your many functions. When you run the program, what is the last function number to be printed? Or is one function number printed forever?
Then you can key on the function that dies or on where that function is called.