While you do get freezes with different versions of Memtest86 with different hardware they normally only occur at the beginning of the program when it is detecting hardware which is why the 4.0 version includes the 3.5 version as well. You will find that if one version freezes at the beginning the other version will be alright.
If the program freezes at 48% it means that there is a memory error that is causing an error in the very small part of the memory that the program is using to run itself.
You have a faulty memory module and should run the memory modules one at a time to isolate it.