The workaround is to manually set this property value to "false"
This answer provides solution for this situation.
The solution is simple. Just register client side onclick event to the button and change the property value by javascript:
<asp:Button ID="btnDownloadFile" runat="server" Text="Download file" OnClick="btnDownloadFile_Click" OnClientClick="javascript:setFormSubmitToFalse()" />
Setting timeout value 3 seconds is important to be sure Sharepoint has already changed the property value and we are changing it back:
function setFormSubmitToFalse() {
setTimeout(function () { _spFormOnSubmitCalled = false; }, 3000);
return true;
}