You can have a memory leak when items are still in scope in some loop or when you have a reference count cycle. The latter happens with the Rc/Arc types in rust.
An example for the former can be a web server that keeps track of every request it’s ever received in memory. You will eventually run out of memory. But you did not violate any memory rules (dangling pointer, etc.). Memory leaks can be caused by design issues.
70k is likely way underpaid for dealing with COBOL. I’ve heard of people making 200k for being on-call