Space Management in SQL Database This question has been moved from Game Development Stackoverflow

I am trying to create a new type of MMORTS game.

Current Situation

Everyday each user deletes and creates : 


1,500 rows of data in diff. tables but in 1 database (all tables data are inter-related to data of other tables)
Each Row estimated size : 1KB
Max user per database: 100,000 users
Total Space Consumed everyday : 0.15 TB


Actual Users in the Game : 10,000,000 users (split in different databases)

Problem

According to me if i delete a row in SQL it is not being deleted permanently and will still consume the data in the database. If this happens, then in near future all my server are likely to crash. 

Can anyone tell me if i am going wrong anywhere or suggest me any solution to this problem? I know this question cannot be understood easily so please feel free to ask any doubts you have regarding this question.
If the tables in question are not using a clustered index, they are what is referred to as "heaps".  Heaps do not automatically release the space consumed by deleted rows.

To determine if your tables actually have clustered indexes, you can right-click the table name from SQL Server Management Studio, then click "Script table ... -> CREATE to -> New Query Editor Window".  If you see the word "CLUSTERED" in the definition produced, then the table has a clustered index.

If your tables are not using clustered indexes, I would recommend adding clustered indexes on appropriate key columns (probably the id column), since rows deleted from clustered indexes are automatically freed by the ghost cleanup process referred to in the answer posted by @RLF.  Clearly, you're going to do this in the development environment, NOT production, correct?

For further info, I recommend reading Paul Randall's excellent post on the ghost cleanup process.  One salient sentence from that post is:


  do ghost records occur in heaps? The answer is no, not during normal processing.