Impossible to tell what kill the fish.
It's isn't unusual for small problems to accumulate as a pond gets older. The person saying the rocks are to blame may have been referring to a common concept of muck collecting in a pond due to rocks. This gets shorten to rocks = muck = bad. Muck is home to a bacteria that produces hydrogen sulfide which in high enough levels can kill fish.
However for ponds that are never cleaned, no vacuuming, no bottom drain system, etc., the same amount of muck collects whether there are rocks or not. Also, hydrogen sulfide at levels enough to kill fish normally kills every fish in the pond within a rather short time period. This is not normally seen with muck but instead when lots, I mean lots, of uneaten food accumulating. Muck isn't a rich source of food for the bacteria but fish food is. There are other organics that could provide lots of food, like fresh lawn clippings, etc.
Leaves normally aren't a huge problem, but can be for some leaves and the volume. This relates to pond size, number and size of fish, amount of water movement and temp. Leaves generally becomes a big problem once they start breaking down, and if you live in a cold climate it gets worst under the ice.
If you're interested in learning about what your pond might be up to the best place to start is at the beginning. And that is water testing. In order of importance imo... Ammonia, nitrite, KH, GH, pH, temp, salt, O2. The first 3 tell you 99% of what is needed to keep fish alive.