I am unclear what you want. So you do not want for there to be any grid-snapping behavior when dragging within the diagram, is that correct? If so, do not set DraggingTool | GoJS API to true.
But if you still want a drag-and-drop from a Palette into your Diagram to be snapped to the grid, you can implement that in an “ExternalObjectsDropped” DiagramEvent listener.
$(go.Diagram, . . .,
{
. . .,
"ExternalObjectsDropped": function(e) {
e.subject.each(function(node) {
if (node instanceof go.Link) return;
var grid = e.diagram.grid;
node.location = node.location.copy().snapToGridPoint(grid.gridOrigin, grid.gridCellSize);
})
}
});