When you type the gamerule doTileDrops and you place a sand on top of a torch the sand will be dropped.
I think its need to dont drop.
1. Type /gamerule doTileDrops false.
2. Place a torch on the floor.
3. Place a sand up to 2 blocks.
4. The sand will be dropped.
Thanks.
Linked issues
is duplicated by 2
Comments 5
When the sand falls, it switches from a block to an entity. Doing so, it no longer is restricted by the "doTileDrops" gamerule, and drops sand.
It's like saying that minecarts shouldn't drop when the gamerule is off.

Dean's explanation is the technical explanation why it happens to work as it works now. However, it does not mean the behavior could not be considered a bug.
From the player's point of view, falling sand is just a falling block, and expects that the "falling block" would then not drop an item. The conversion to entity is merely a programming convenience and allows physics simulation (otherwise the falling effect would need to be "blocky", instant shifts of one meter at a time, too).
All that this needs for "fixing" is that those entities that represent falling blocks check this gamerule when needed. (This would also leave minecarts and such to behave as they do since they are always entities; sand (and gravel) are most of their lifetime blocks.)
This is probably the most stupid "working as intended feature" because if I don't want any drops, that means I don't want ANY AT ALL EVEN FROM STUPID CRAP LIKE THIS!
Confirmed.