We need more info please..
Computer specs (cpu, ram, video card, etc.)
Version of solidworks and video driver
Size of the assembly (physical and count of parts)
Is the assembly local or over the network?
Here is a little more information:
File size is 54MB
Part Count 2000
Using a standard Dell T7500 with the video card as came with the system
Trying to load off local
4 GB Memory
SW09 x64 SP5.0
Try the following. Watch the status bar when the document is attempting to be opened. If you can recognize the file names just before the system goes away (a politically preferred - not quite "correct"- way of saying "crashes"), then next time you load SW, open these and some of the other documents that may have been the "one" being loaded at the time of the crash. If the same thing happens again, open all dependant documents, then try a third time. If that still does not work, open all dependant documents, set all to "Set lightweight to resolved", then try again. This should be successful in at least determining if the "corrupted" file is the top level assembly or a lower level referenced assembly. If you start crashing on the lower level stuff, then open the top level with the guilty file referenced suppressed.
Have you tested opening the assembly on another machine (if available)? If not, I suggest you do this. This is a quick way to determine if the issue is file (dataset) specific or machine related. A lot of times these issues are machine specific and not caused by corrupt files, although that is a possibilty.