- The author's approach is corrected, we only need to increase the
r and limited the PlotRange to the rectangle {{-1,1},{-1,1},...}.
ParametricPlot3D[{r Cos[θ], r Sin[θ], r^2*4 Mod[(1/r - θ/(2 π)), 1] (1 - Mod[(1/r - θ/(2 π)), 1])}, {θ, 0, 2 π}, {r, 0, 4}, PlotPoints -> 200, BoxRatios -> {1, 1, 1}, PlotRange -> {{-1, 1}, {-1, 1}, {-2, 2}}, Exclusions -> None, PlotTheme -> "Classic",Boxed -> False, Axes -> False]

ParametricPlot3D[{r Cos[θ], r Sin[θ], 4 Mod[(1/r - θ/(2 π)), 1] (1 - Mod[(1/r - θ/(2 π)), 1])}, {θ, 0, 2 π}, {r, 0, 4}, PlotPoints -> 200, MaxRecursion -> 4, BoxRatios -> {1, 1, 1}, PlotRange -> {{-1, 1}, {-1, 1}, {-2, 2}}, Exclusions -> None, PlotTheme -> "Classic",Boxed -> False, Axes -> False]

RevolutionPlot3D also convenience for this task.
RevolutionPlot3D[ r^2*4 Mod[(1/r - θ/(2 π)), 1] (1 - Mod[(1/r - θ/(2 π)), 1]), {r, 0, 4}, {θ, 0, 2 π}, PlotPoints -> 100, MaxRecursion -> 4, Exclusions -> None, PlotTheme -> "Classic", Boxed -> False, Axes -> False, PlotRange -> {{-1, 1}, {-1, 1}, {-2, 2}}, BoxRatios -> 1]
