I'm getting a maximum of around 22 before the code freezes up, remember that the Adafruit library allocates 1024 bytes of memory for the display buffer at runtime, so that is not shown in the memory usage.
Remove the Serial.begin() after you finish debugging the code, that frees up the memory used by the serial buffers.
Use the U8g2 library with a frame buffer, that frees up enough memory to get around 82 particles, although I have not tested the code over a long time.
< edit >
Remove the pinMode(), that is setting digital pin 1 (the Serial Rx pin) to input. Presumably you are attempting to set analog pin A1 to input, which you do not need to do anyway. The analogRead() makes the assumption that 1 refers to A1 because digital pins are unusable for analog reads, but pinMode makes no such assumption.
pinMode(1, INPUT);
randomSeed(analogRead(1));