One of the biggest headaches for me is memory bugs when codebase grows large. So I 'm very interested: is this a headache for you too and how do you deal with this?

Yes, I think most of the time working on the project was working ob fixing memory bugs. GDB did a great job for me, have you tried to use it?

Yeah, it's kind of annoying to fix these bugs for me, even though GDB is a great debugging tool.

I always wonder if there are any techniques to avoid these kind of bugs in huge projects like OSes and browsers, otherwise it can be a nightmare

You can read about how NASA writes their code, I remember reading an article about it, which includes some great tips with how to avoid these kind of bugs. And I think also as other commenter said, new languages like Rust really help with avoiding bugs like that.