Snag
late 16th century (in snag1 (sense 2 of the noun)): probably of Scandinavian origin. The early sense ‘stump sticking out from a tree trunk’ gave rise to a US sense ‘submerged piece of timber obstructing navigation’, of which sense 1 is originally a figurative use. Current verb senses arose in the 19th century.
wiktionary
Of North Germanic origin, ultimately from Old Norse snagi(“clothes peg”), perhaps ultimately from a derivative of Proto-Germanic *snakk-, *snēgg, variations of *snakaną(“to crawl, creep, wind about”).
Compare Norwegian snag, snage(“protrusion; projecting point”), Icelandic snagi(“peg”). Also see Dutch snoek(“pike”). [1]
The Australian National Dictionary Centre suggests that snag as slang for "sausage" most likely derives from the earlier British slang for "light meal", although it makes no comment on how it came to be specifically applied to sausages.Meanings and origins of Australian words and idioms The word's use in football slang originates as a shortening of "sausage roll", rhyming slang for "goal", to sausage, and hence, by synonymy, snag.
(This etymology is missing or incomplete. Please add to it, or discuss it at the Etymology scriptorium.)
etymonline
snag (n.)
1570s, "stump of a tree, branch," of Scandinavian origin, compare Old Norse snagi "clothes peg," snaga "a kind of ax," snag-hyrndr "snag-cornered, with sharp points." The ground sense seems to be "a sharp protuberance." The meaning "sharp or jagged projection" is first recorded 1580s; especially "tree or branch in water and partly near the surface, so as to be dangerous to navigation" (1807). The figurative meaning "obstacle, impediment" is from 1829.
snag (v.)
"be caught on an impediment," 1807, from snag (n.). Originally in American English, often in reference to steamboats caught on branches and stumps lodged in riverbeds. Of fabric, from 1967. The transitive meaning "to catch, steal, pick up" is U.S. colloquial, attested from 1895. Related: Snagged; snagging.