We prove that the maximum number of edges in a 3-uniform linear hypergraph on $n$ vertices containing no 2-regular subhypergraph is $n^{1+o(1)}$. This resolves a conjecture of Dellamonica, Haxell, Łuczak, Mubayi, Nagle, Person, Rödl, Schacht, and Verstraëte. We use this result to show that the maximum number of edges in a $3$-uniform hypergraph on $n$ vertices containing no immersion of a closed surface is $n^{2+o(1)}$. Furthermore, we present results on the maximum number of edges in $k$-uniform linear hypergraphs containing no $r$-regular subhypergraph.