It depends on what you mean by "better". When comparing a ten year old Linux kernel of the same era as Windows XP, you will see both have different strengths and weaknesses. While Linux will be a bit more resilient to memory related faults, it was also less complex and generally slower (not the OS, but specific memory allocations and paging functions). Basically Windows makes more assumptions on how an app will behave in order to anticipate its needs. Unfortunately this occasionally leads to mistakes where the wrong actions take place. This can lead to memory being lost where neither the application nor OS realizes that it is still available, or crashes when the OS and application have a disconnect for how a block of RAM can be accessed.
Like most stability issues in windows, they are not due to deficiencies in the kernel design, but rather are hard coded exceptions to the protections otherwise offered by the by the NT kernel. For example the video driver in XP ran as a kernel level process. While this saves time on mode switching, it creates a point of failure that the kernel otherwise wouldnt have allowed (BSOD). Linux on the other hand took a simpler approach and did not have these exceptions. In general this contributed to Linux based machines from 10 years ago struggling more with video intensive tasks like full screen HD video playback and 3D rendering (less mature drivers didnt help either).
In modern Windows, the areas of potential contention have been greatly reduced, allowing for the optimized performance without compromising stability.