That’s one kind, and Rust’s “ownership” concept does mean there’s built-in compile time checks to prevent dangling pointers or unreachable memory. But there’s also just never de-allocating stuff you allocated even though it’s still reachable. Like you could just make a loop that allocates memory and never stops and that’s a memory leak, or more generally a “resource leak”, if you prefer.
Rust is really good at keeping you from having a reference to something that you think is valid but it turns out it got mutated way down in some class hierarchy and now it’s dead, so you have a null pointer or you double free, or whatever. But it can’t stop the case where your code is technically valid but the resource leak is caused by bad “logic” in your design, if that makes sense.
It depends on the forest, but there are fire adapted forests that benefit from fire. We’ve completely changed the understory by suppressing fire, meaning the succession of the forest is totally different now. Also many non-native invasive plants, that aren’t fire adapted, are thriving and blocking sunlight to native seedlings. The lack of fire has also made the tick problem worse.
BTW I should mention, when the forest burns often (once every 6-10 years), then you get “good” fires. Fires which are less than a meter tall and quickly move through the leaf litter and scrub layer. Trees are left intact, nutrients are recycled into the soil, new growth of fire-adapted species returns quickly.
If you don’t get frequent fires all that stuff builds up, and in fifty years you get a total conflagration that climbs into the overstory and creates a raging inferno. This is what you see on the news. These are bad and can completely destroy a forest for decades or even centuries.