How would you know it's a gravestone? What if what you consider a gravestone is a perfectly legit byte sequence for a certain program?
You could also xor the memory location into the marker to avoid multiple collisions for applications that allocate a large amount of similar objects.