It isn't just the cost to collect, it is also the cost to store. Heat is easy and safe to store at just above room temperature in rocks - but you need a lot of rocks. Just to heat my house for a few days would need tons of rock at temperatures I'd allow in my house (I have kids and so I worry they will open the rock container and get burnt). Rocks are not free. You can also use water for storage, but again you have the issue needing a tank (and water is a drowning hazard, plus the worry about leaks...)
It isn't just the cost to collect, it is also the cost to store. Heat is easy and safe to store at just above room temperature in rocks - but you need a lot of rocks. Just to heat my house for a few days would need tons of rock at temperatures I'd allow in my house (I have kids and so I worry they will open the rock container and get burnt). Rocks are not free. You can also use water for storage, but again you have the issue needing a tank (and water is a drowning hazard, plus the worry about leaks...)