Im implementing NEAT algorithm in python via the NEAT-python library and I keep getting results that are not logical. My elitism is set to 2, pop size is 30. species elitism is 1 and there is no stagnation.
Graph im getting has weird oscilations...

How is it possible for population's best fitness to drop if I have elitism involved?
Also, I have noticed the oscilations happen only when 2 or more species is involved. Anyways, NEAT-python docs say that elitism takes the best from each species and just puts them into next generation, but that is clearly not working here...
Any ideas?