Have you tested the flow rate of your showerhead? If it’s not low-flow,you could run a 40-gallon heater out in that amount of time. Run a one- or two-gallon bucket under the showerhead and see how long it takes to fill.
That said, have you tested for cross connections? For that, use the Tanklets link on the left side of the Tank topics index and click on that term when you get there.