When you write this code:
tab = {{1, 1}}; tab = Join[tab, {{2,2}}];
you expect to get the following table:
{{1, 1}, {2, 2}}
but, if you write the following code instead:
tab = {{1, 1}}; tab = Join[tab, {{2, 2}}]; ListPlot[tab]
and after that, you check the elements of tab, it will contain these elements:
{{1, 1}, {2, 2}, {2, 2}}
Why does it happen? Is it a kind of bug of Mathematica, or I do not understand how the Join function works? (I'm running version 10.0.0 on Windows 10.)

tab.Clear[tab]– Young Jul 23 '16 at 00:41