Crystal tends to use a lot of disk space for its internal swapping when there is a lot of data. So, you need to make sure that there is a reasonable amount of space available on the drive for it to do this. By default, this is in a sub-folder the user folder of the account used to run your CRS services - look for C:\Users<user name>\AppData\local\temp. You can change where the Crystal swap files are created by setting the TEMP global environment variable.
If a report errors out, Crystal is not very good about cleaning up after itself, so there will be large, unused swap files on the disk that need to be deleted. Look for ~.tmp and ~.rpt in the temp folder and delete those files that are dated earlier than the current date.