Keep PPCG running in Game of Life Conways' Game of Life is a well known cellular automaton &quot;played&quot; on an infinite grid, filled with cells that are either alive or dead. Once given an initial state, the board evolves according to rules indefinitely. Those rules are:

Any live cell with 2 or 3 living neighbours (the 8 cells immediately around it) lives to the next state
Any dead cell with exactly 3 living neighbours becomes a living cell
Any other cell becomes a dead cell

Consider the following initial state:

That is, PPCG made up of living cells. Each letter is in a \$4×6\$ bounding box, with a single empty column of cells between boxes, for a total bounding box of \$19×6\$
After 217 generations, it reaches the following states:

From this point onwards, it is a &quot;fixed state&quot;. All structures on the board are either still lifes or oscillators, so no meaningful change will occur.
Your task is to improve this.

You may place up to 50 live cells in the \$5\times10\$ highlighted area, such that, when run, it takes more than 217 generations to reach a &quot;fixed state&quot;. The answer with the highest number of generations wins, with ties being broken by the fewest number of placed living cells.
For the purposes of this challenge, a &quot;fixed state&quot; means that all structures on the board are either still lifes or oscillators. If any spaceships or patterns of infinite growth are generated, the board will never reach a &quot;fixed state&quot; and such cases are invalid submissions.
For example, this initial configuration takes 294 generations to reach a fixed state (this), so is a valid submission with a score of 294:

Preloaded testable version, with the \$5\times10\$ box fully filled in.
2986 2320 1228 generations
I wrote a rudimentary Python script for Golly to generate random 5x10 patterns until it encountered one whose population was fixed, and whose bounding box was not too large (as would be expected of soups containing spaceships, as spaceships expand the bounding box as they travel). Here was what it came up with after about 50,000 patterns investigated, and I suspect this is not maximal. If anyone wants to continue this search by using my script, it's located below the pattern.

RLE of solution:
# 2986 generations
x = 19, y = 20, rule = B3/S23
3o2b3o3b3o2b3o$o2bobo2bobo4bo$o2bobo2bobo4bo$3o2b3o2bo4bob2o$o4bo4bo4b
o2bo$o4bo5b3o2b2o5$7bobobo$7b2ob2o$8bo2bo$11bo$10b2o$7bo2bo2$8b4o$7bo$
7bo3bo!

Python script, to be run in Golly from File &gt; Run Script (not golfed). You will need to paste/draw in the PPCG pattern and select the 5x10 rectangle first.
import golly as g
from glife import rect, pattern

g.setrule(&quot;B3/S23&quot;) #set the rule to Conway's Life
soupcount = 0 #create a counter for # of soups processed

while True:
    pop = 0
    g.randfill(50) #randomly fill the 5x10 selection
    g.run(2400) #run the pattern for 2400 generations
    if g.getrect()[2] * g.getrect()[3] &lt; 40000: #after 2400 generations, if the bounding box is small
        pop = g.getpop() #check to make sure the population is not the same (pattern is not static)
        g.run(120)
        if g.getpop() != pop:
            g.run(9880) #after 9880 more generations, if the bounding box is still small
            if g.getrect()[2] * g.getrect()[3] &lt; 40000: #check to make sure the population is the same (pattern is static)
                pop = g.getpop()
                g.run(120)
                if g.getpop() == pop:
                    g.reset() #if so, break the loop and return the pattern
                    break
    g.reset() #repeat the loop and generate a new pattern if the pattern does not satisfy the conditions
    soupcount += 1
    g.show(str(soupcount)) #continually show the # of soups processed to make sure the program isn't dead

RLEs of old solutions:
#C 2320 generations
x = 19, y = 20, rule = B3/S23
3o2b3o3b3o2b3o$o2bobo2bobo4bo$o2bobo2bobo4bo$3o2b3o2bo4bob2o$o4bo4bo4b
o2bo$o4bo5b3o2b2o5$7bo3bo$7b3o$10bo2$7bo$7bo2bo$7bo$7b2o$7bo3bo$7b2o2b
o!

#C 1228 generations, found manually with Ctrl+5
#C to continually generate random 5x10 patterns
x = 19, y = 17, rule = B3/S23
3o2b3o3b3o2b3o$o2bobo2bobo4bo$o2bobo2bobo4bo$3o2b3o2bo4bob2o$o4bo4bo4b
o2bo$o4bo5b3o2b2o5$7b5o$7bobobo$7b2obo$8bob2o$8b4o$8bo2bo$7bobo!