It sounds very much like you have a problem with system resources. Try the following.
The name of the swapfile used by Windows 98 can be changed by adding a PagingFile= line to the 386Enh section of the System.ini file. If the path specified for the swapfile includes a lowercase drive letter, it can cause Windows 98 Second Edition to occasionally hang during a suspend.
To resolve this issue, change the lowercase drive letter specified for the swapfile path in the System.ini file to uppercase. To do this, follow these steps:
Click Start, click Run, type msconfig, and then click OK.
Click the System.ini tab, double-click 386Enh to expand the branch, click PagingFile=, and then click Edit.
Change the drive letter to uppercase. For example, change the following line from
PagingFile=d:\win386.swp
to
PagingFile=D:\win386.swp.
Click Apply, click OK, and then click Yes to restart your computer.
One note: Win98 can only effectively handle a MAX of 128MB RAM. Any morethan this and you will have the same problem as you do now.