細かいこと話すと凄く長くなる(大学で1コマ使えるレベル)なのでザックリ言うと「マルチプロセスかつマルチスレッドであり、特に顕著なのはマルチスレッドの際に動作へ混乱が発生すると、確保されているメモリ領域および確保しようとするメモリ領域も混乱し、メモリ領域におかしな読み書きが発生することで、そのメモリ領域を利用しているすべてのアプリケーションが落ちる」んです
ちなみにシステム上はWindowsだろうがUNIX/Linuxだろうが発生します
ただWindowsは互換性維持のためメチャクチャ複雑なプロセスをコールしまくる傾向があるのでUNIX/Linuxよりもアプリケーションがクラッシュするイメージが一般的なユーザにもあるかも知れません
まぁ早い話「クラッシュする原因はGUIをも含めた同時に使ってるプログラムの相性による」ってことですな