This is really just a comment that is too long for comments.
The short answer to your question is:
Yes. Resource over-utilization can kill each and every functionality that the server has. Every process requires memory. When the memory runs out, sad times.
Long answer
If you can't recover the machine while it is struggling, finding the root cause will be harder for you.
Next time the machine is going down, try to save it. immediately make it stop doing what you already know it is doing. Don't waste your precious seconds trying to run a diagnostic command. Just make it stop doing what you know it is doing first. It is a web server, immediately kill all apache/nginx/lighttpd processes. If it runs email, immediately kill all email processes. If it is a database server, DO NOT kill the DB processes outright, but immediately give the stop command (if all the DB requests come through web sites or some app, just kill the webserver or service that serves the app).
You need to shut down whatever is feeding more and more processes to your server, to stop your server from blindly trying to answer all requests and dying from lack of memory.
Once it is somewhat under control, and assuming you can't find anything with the diagnostics, your only hope is the logs. If it is a web/email/db server, check your logs for things like the number of IPs making request within a certain time frame, compare the times when the server fails to the times when it runs smoothly. Check the sort of web or email requests that came through just prior and during the resource problem. Check the number of DB queries writing to your disk, disk I/O issues can easily back things up to the point of killing your server. You are likely to find problems with long running/disk writing DB queries and/or abusive email/web users this way.
Further, once the services are off and you are grasping for clues, check the process list for any existing processes that are running as system users which should not be. For example, you shut down apache and it runs as 'nobody', look and see if any other script is being run by 'nobody'. Sometimes you can find malicious shells and things uploaded to tmp this way.
Use top to find anything eating a lot of memory and if you are not sure of that process, investigate it. Use commands like lsof and other system tools to see what directory that process is running from, anything that can give you a clue of an illegitimate process.
Odds are you can find something like this. If you can't because the logging sucks, then at least turn up/enable the logging and you will have more data if it happens again. If it is a file server (ftp, scp, etc) enable the logging so you can see when files are being uploaded/downloaded. Are people on your network doing massive uploads/downloads at the same time?
These are just the tip of the ice berg, there is a lot you can do but treat it like an investigation, you need a clue to work from.