A group of order 30 has at most 7 subgroups of order 5

The intersection of two subgroups is itself a subgroup. Lagrange's Theorem therefore implies that the intersection of two subgroups of order $5$ must have order $1$ or $5$. Therefore, two distinct subgroups of order $5$ must intersect only at the identity element.

If there are $k$ distinct subgroups of order $5$, then there are $1+4k$ distinct elements in those subgroups, which must be at most the order of the group.


Using this GAP code

for G in AllSmallGroups(30) do
  S:=Set(List(G,g->Group(g)));
  Print(StructureDescription(G)," ",Number(S,H->Size(H)=5),"\n");
od;

We can check that every group of order $30$ actually has a unique subgroup of order $5$. These groups are $C_5 \times S_3$, $C_3 \times D_{10}$, $D_{30}$, and $C_{30}$. (See also Groups of order 30.)


It's going to have fewer than $7$, but proving that requires some tools it doesn't sound like you have.

Two distinct subgroups of order $5$ intersect only in the identity (by Lagrange's theorem). This means no two will share any nonidentity elements. Thus if there are $m$ subgroups of order $5$, you can calculate exactly how many elements are in their union. This can't be more than $30$, the order of the group.