Generating a sound where end frequency is 1/2 of the start frequency
Think of frequency in this context more in terms of angular velocity. If that velocity is constant, nothing changes from the usual picture. However, if the frequency changes, it is more correct to compute the actual angle that is input into the trig functions as an anti-derivative of the frequency function.

Here the interpolated frequency is 

$$f(t)=(1-\tfrac tT)\,f_0+\tfrac tT\,f_T,$$ 

so the angle at time $t$ is 

$$\phi(t)=2\pi\,\int_0^t f(s)\,ds=2\pi\, [t(1-\tfrac{t}{2T})\,f_0+\tfrac{t^2}{2T}]=\pi t\,[(2-\tfrac tT)f_0+\tfrac tT\,f_T]$$

In contrast, your formula is

$$\phi_o(t)=2\pi\,t\,f(t)=2\pi t\,[(1-\tfrac tT)f_0+\tfrac tT\,f_T]$$

has a derivative or local angular velocity of

$$\phi_o'(t)=2\pi\,[(1-2\tfrac tT)f_0+2\tfrac tT f_T]$$

which has a zero at $t=\frac T2\,\frac{f_0}{f_0-f_T}$, which given your data is located at $t=0.43264s$. 

Note that the correct formula also reaches the local angular frequency of zero, but at the double of that time interval, so outside $[0,T]$.



Note on implementation: The last form of $\phi(t)$ can be constructed as

 pi*(i*dt)*(f0+interpolate(i,f0,fT,N))


with N=samples and dt=T/N, provided that 

interpolate(0,f0,fT,N)==f0 and interpolate(N,f0,fT,N)==fT