While testing v1.4.1 (i didn't encounter any illegal move yet!) the following position arose, Woodpusher playing White :

Here 18.Ne5 was played, which was a blunder : after 18...Rxe5 (the 'normal' Nxe5 was even better) 19.dxe5? Nc3! White's Queen is attacked and also the King by Qxg2# ! Woodpusher decided Ne5 after 6.3s at depth 6. Indeed, it would have taken too long in this 5m+3s game to reach depth 7, but then the engine would have found Re1 bestmove. For a human these kind of tactics are not difficult to spot, but only reaching depth 6 isn't enough, this position is a good example i think.
You should find some method to increase the search depth, probably by improving pruning somehow. And do you use Quiescence Search ? That might have avoided this blunder.
[Event "engine vs engine"]
[Site "Holland @ https://lichess.org/50JJB8mt "]
[Date "2024.12.04"]
[Round "?"]
[White "Woodpusher v1.4.1 PR37"]
[Black "Skiull v0.6"]
[Result "0-1"]
[ECO "A05"]
[GameDuration "00:14:45"]
[Opening "Reti Opening"]
[PlyCount "144"]
[TimeControl "300+3"]
1. Nf3 {+0.28/7 5.5s} Nf6 {-0.10/11 11s} 2. d4 {0.00/6 1.8s} d5 {-0.15/11 10s}
3. Nc3 {+0.02/6 4.1s} e6 {-0.10/10 10s} 4. e3 {+0.33/5 1.3s}
Bd7 {-0.10/11 10.0s} 5. Bd3 {+0.07/6 4.5s} Bb4 {-0.15/10 9.8s}
6. a3 {+0.16/6 5.2s} Bxc3+ {+0.10/11 9.6s} 7. bxc3 {+0.44/7 3.6s}
Nc6 {+0.10/11 9.5s} 8. O-O {+0.25/6 3.8s} O-O {+0.05/11 9.3s}
9. Bb2 {+0.26/6 3.1s} Ne4 {0.00/11 9.2s} 10. Nd2 {+0.43/5 1.9s}
f5 {+0.05/11 9.0s} 11. Rc1 {+0.43/4 1.3s} Re8 {+0.05/10 8.9s}
12. c4 {+0.45/6 3.7s} Qg5 {+0.05/10 8.7s} 13. cxd5 {+0.52/4 1.7s}
exd5 {+0.05/11 8.6s} 14. c4 {+0.55/6 6.4s} Be6 {+0.05/11 8.4s}
15. Nf3 {+0.47/7 12s} Qg6 {-0.05/10 8.3s} 16. cxd5 {+0.41/6 4.4s}
Bxd5 {+0.05/11 8.2s} 17. Bb5 {+0.41/4 2.2s} Rad8 {+0.05/10 8.0s}
18. Ne5 {+0.50/6 6.3s} Rxe5 {+1.30/10 7.9s} 19. f3 {-0.87/5 3.9s}
Re7 {+1.30/10 7.8s} 20. fxe4 {-0.89/6 9.1s} fxe4 {+1.30/10 7.7s}
21. Qa4 {-0.86/6 10s} a6 {+1.30/9 7.5s} 22. Bc4 {-0.82/6 4.2s}
Bxc4 {+1.25/9 7.4s} 23. Qxc4+ {-0.61/7 5.8s} Qe6 {+1.25/8 7.3s}
24. Qxe6+ {-0.63/7 8.5s} Rxe6 {+1.15/9 7.2s} 25. Rc5 {-0.66/6 3.5s}
Rg6 {+1.00/8 7.1s} 26. Rf4 {-0.27/7 7.0s} b6 {+0.40/8 7.0s}
27. Rcf5 {+0.08/8 20s} Re6 {+0.10/10 6.9s} 28. d5 {+0.56/8 16s}
g6 {0.00/11 6.8s} 29. dxe6 {+0.49/8 7.9s} gxf5 {0.00/11 6.7s}
30. Rxf5 {+0.44/10 22s} Rd1+ {0.00/11 6.6s} 31. Rf1 {+0.49/11 22s}
Rxf1+ {+0.05/13 6.5s} 32. Kxf1 {-0.03/11 23s} Ne7 {+0.10/13 6.4s}
33. a4 {+0.68/9 9.4s} Nd5 {+0.35/12 6.4s} 34. Kf2 {-0.02/9 14s}
Kf8 {+0.55/11 6.3s} 35. Ba3+ {-0.16/9 8.8s} Ke8 {+0.80/11 6.2s}
36. a5 {-0.40/10 9.4s} bxa5 {+1.00/12 6.1s} 37. Bc5 {-0.37/9 7.6s}
h5 {+1.00/11 6.0s} 38. Kg3 {-0.31/10 10s} a4 {+1.05/12 6.0s}
39. Kh4 {-0.55/10 11s} a3 {+1.00/12 5.9s} 40. Bxa3 {-0.14/8 1.5s}
Nxe3 {+1.20/13 5.8s} 41. Kg3 {-0.43/8 1.6s} Nc2 {+1.05/12 5.7s}
42. Bc5 {-0.32/8 1.1s} Ne1 {+1.60/12 5.7s} 43. Kh4 {-1.03/8 1.4s}
e3 {+2.55/11 5.6s} 44. Bb4 {-1.62/8 1.4s} Nd3 {+2.95/14 5.5s}
45. Ba5 {-1.93/8 1.2s} e2 {+2.95/12 5.5s} 46. g4 {-1.98/9 2.5s}
hxg4 {+3.75/13 5.4s} 47. Kxg4 {-2.14/10 3.7s} e1=Q {+3.85/13 5.4s}
48. Bxe1 {-2.34/11 2.4s} Nxe1 {+3.80/14 5.3s} 49. h4 {-2.97/12 2.4s}
Ke7 {+2.85/14 5.2s} 50. Kf5 {-2.38/13 3.2s} Nf3 {+2.85/13 5.2s}
51. h5 {-2.38/12 2.5s} Nd4+ {+2.55/12 5.1s} 52. Kg6 {-2.60/12 3.2s}
a5 {+4.00/13 5.1s} 53. h6 {-3.44/12 3.2s} Nxe6 {+4.25/12 5.0s}
54. h7 {-3.44/12 4.8s} Nf8+ {+5.45/13 5.0s} 55. Kf5 {-5.37/13 3.0s}
Nxh7 {+5.55/13 4.9s} 56. Ke4 {-5.48/12 4.0s} Nf6+ {+5.65/13 4.9s}
57. Kd4 {-5.43/11 3.1s} a4 {+5.90/14 4.8s} 58. Kc3 {-5.54/11 4.1s}
Nd5+ {+11.50/13 4.8s} 59. Kb2 {-6.42/12 4.0s} c5 {+11.00/14 4.7s}
60. Ka3 {-6.74/13 3.8s} Nb6 {+13.25/14 4.7s} 61. Ka2 {-6.95/12 3.9s}
c4 {+13.45/14 4.7s} 62. Kb2 {-11.25/12 4.5s} Ke6 {+13.50/13 4.6s}
63. Kb1 {-12.80/12 5.3s} c3 {+15.35/13 4.6s} 64. Ka2 {-12.80/11 2.9s}
Nd5 {+20.70/12 4.5s} 65. Ka3 {-13.41/12 4.8s} Ne3 {+M19/12 4.5s}
66. Ka2 {-13.44/12 8.1s} c2 {+M15/12 4.5s} 67. Kb2 {-13.17/10 8.3s}
a3+ {+M13/10 4.4s} 68. Kxa3 {-13.38/11 8.6s} c1=Q+ {+M9/9 4.4s}
69. Kb4 {-M8/9 3.0s} Kd5 {+M7/8 4.3s} 70. Kb5 {-M6/7 0.53s} Qb1+ {+M5/9 4.3s}
71. Ka5 {-M4/5 0.19s} Kc5 {+M3/9 4.3s} 72. Ka6 {-M2/3 0.055s}
Qb6# {+M1/9 4.3s, Black mates} 0-1
While testing v1.4.1 (i didn't encounter any illegal move yet!) the following position arose, Woodpusher playing White :
Here 18.Ne5 was played, which was a blunder : after 18...Rxe5 (the 'normal' Nxe5 was even better) 19.dxe5? Nc3! White's Queen is attacked and also the King by Qxg2# ! Woodpusher decided Ne5 after 6.3s at depth 6. Indeed, it would have taken too long in this 5m+3s game to reach depth 7, but then the engine would have found Re1 bestmove. For a human these kind of tactics are not difficult to spot, but only reaching depth 6 isn't enough, this position is a good example i think.
You should find some method to increase the search depth, probably by improving pruning somehow. And do you use Quiescence Search ? That might have avoided this blunder.