Well it is a bug, and it isn't.... "mod" will give a result with variables because it is doing a polynomial "mod". For the following case where you've entered to polynomials it is a very nice feature...mod(x^2+4*x+3,x^2+3*x+2)

x+1
If, on the other hand, you want to use a variable as a placeholder, it is a very bad feature....mod(x,5)

5
What it is doing in the graph/table is correct, but not expected. It is doing a polynomial "mod" when what you want is a numeric "mod" where "x" is a placeholder.
The graph and table application pre-evaluates the expression to speed things up. As an example, a complicated integral will graph much faster if it is pre-evaluated and reduced before graphing. In
this case though, it is "pre-evaluating" "mod(x,5)" and getting "x".
NOTE: The same problem exists with the "gcd" function.