Knife Tool Limited Cut - Not Cutting All of Mesh/Edges
Since you said "trying to cut my mesh in half ", is using the knife tool mandatory? Maybe you already discarded them, but there are other (probably better) tools, like the bisect tool, or the boolean modifier.

Bisect tool: this allows you to create edges through the whole mesh by setting a "bisect" line, like this:


Start switching the 3D view in edit mode, and adjust view to allow you to "bisect" drawing on the 3D view, like:





After clicking on "bisect", draw a single line (eg) from top to bottom: after confirming the end point, the cut is already done!





Now your mesh has an edge that goes through all its geometry: you can use this dividing line as reference to delete all geometry (eg) to the right of it:




you'll get



Another way, as said, it using boolean difference, and since is a modifier, is also non-destructive (until you apply):


Create a big cube that contains all the part of the mesh that should be "cut" away from the mesh





Then select your mesh, and apply a "difference" boolean, with the big cube as target





Done! Your mesh is cut, but you can still change cube (and this cut) position. Note that the cut zone ill be "closed" by a side - you can get rid of this after, if needed.