empty()
will empty the selection of its contents, but preserve the selection itself.
remove()
will empty the selection of its contents and remove the selection itself.
Consider:
<div>
<p><strong>foo</strong></p>
</div>
$('p').empty(); // --> "<div><p></p></div>"
// whereas,
$('p').remove(); // --> "<div></div>"
Both of them remove the DOM objects and should release the memory they take up, yes.
Here are links to documentation, which also contains examples:
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…