Is my uncertainty when fitting a curve to data from an oscilloscope too small? I was trying to measure the capacitance of a (large) capacitor using discharge decay. I saved the data from an oscilloscope while taking measurements, and it recorded about 250,000 points.
I noticed that, the more points I take, the smaller the covariance matrix values.
I noticed that my standard deviation was 0.1% of my actual value (if I take all the points). I'm not sure if it's a sensible value in uncertainty, because for this specific part of the experiment, we had to manually charge and discharge the capacitor using a 3-way switch.
The reason it doesn't make sense to me is because the curve fit doesn't look "perfect" and has quite a bit of wiggle room (which looks visually more than 0.1%).
Here's the equation I fit:
$$V = V_{0}e^{\frac{-t}{RC}},$$
where $V_0$ is my initial voltage at time t=0, R is the resistance (10k$\Omega$ roughly), and C is the capacitance.

I set V_0 as an average of first 100 points initially.
Is it because I forced V_0 to be constant and would making it a variable in the fit give me a more reasonable estimate of the uncertainty?
Sorry here is the data: https://drive.google.com/drive/folders/1bDj7L1d-u5fHJWpVV6mFYDjPUL3PuUP-?usp=sharing
Here's the function I defined:
def voltage(t, C, V_0):
    return V_0*np.exp(-t/(R*C))

Here is the value of capacitances from the 5 graphs and their std (keeping V_0 constant in this one) in mF.
[1.08394 1.10591 1.08278 1.06662 1.07464]
[1.1e-04 1.5e-04 1.1e-04 9.0e-05 8.0e-05]
And here we keep V_0 as a variable:
[1.07964 1.08435 1.08807 1.08135 1.07564]
[0.00016 0.00017 0.00016 0.00012 0.00011] in mF
In the 2nd one, we're getting a higher uncertainty in our fit of C, but when we notice that the values of C are more precise.
Hence in the first one,
$1.083 \pm 0.015$ mF is our value
and for the second one,
$1.082 \pm 0.005$ mF is what we get.
This is what I had done till now.
 A: I'd slightly change the approach. The expected analytical solution is $v(t) = v_0 e^{-\frac{t}{RC}}$, and your measurements agree with the expected analytical solution.
Before performing a regression to fit the data, let's recast the solution as $\frac{v(t)}{v_0} = e^{-\frac{t}{RC}}$ and
$RC = \dfrac{t}{\ln \left( \dfrac{v_0}{v(t)} \right)}$,
so that you can perform a zero-th order or very low-order polynomial regression, on a nearly constant function.
Here we are implicitly assuming that the random errors (because of noise or any other sources) on $\frac{v(t)}{v_0}$ and $t$ are not correlated from one time-step to the others. I can't justify rigorously this assumption right here and now, but it looks plausible to me.
Since the electrical noise seems to be larger than the absolute value of the measurement for large time, you can set a threshold on time (following a signal/noise ratio criterion, maybe) in order to avoid to use these noise-dominated measurements in the regression.
Edit. If you use the zero-th order recasting above, you'd probably end up with large uncertainties at the very beginning of the simulation, since the log at the denominator may be close to zero. Maybe it's better to look for a "first" order recasting,
$\ln \left( \dfrac{v_0}{v(t)} \right) = \dfrac{1}{RC} t$
Here you can see the results for a zero-th order and a first order recasting I've simulated on my laptop with ${RC^{exact}} = 1$,


A: 
Is it because I forced $V_0 $ to be constant and would making it a variable in the fit give me a more reasonable estimate of the uncertainty?

This type of assumption can totally screw up a single-parameter fit.  If you were to plot your residuals versus time (that is, data minus fit), you would have positive residuals at the start and end of the data and negative in the middle. This is a classic symptom of a bad model.
If you are going to go for a multi-parameter fit, I would suggest going whole hog: fit to
$$
V(t) = V_0 e^{-t/\tau} + V_\text{bias}
$$
where the “initial” voltage difference across the capacitor $V_0$, the time constant $\tau$ that you actually care about, and any nonzero bias $V_\text{bias}$ at the oscilloscope input are all free parameters.
You predict that $V_\text{bias}$ should be zero, but there are several ways that could be untrue. For example, your oscilloscope input could be miscalibrated or damaged. (One experiment I worked with was stuck with an oscilloscope with this problem for years, because it was easier to say “don’t believe that ground right there” than to spend \$10k on a replacement with the same features.) A more likely problem in your case is that the megaohm input to the scope is also forming an $RC$ filter with your circuit, so you have your ten-second time constant with your 10k resistor combined with a second exponential decay with a thousand-second time constant. Whether this is plausible depends on your circuit diagram in a way you may or may not care about, but if you got curious enough to test for it you might draw the same circuit if you used the ten megaohm probe that comes with your oscilloscope.
Another test you can make is to move your $V_0$ away from the tough-to analyze beginning of your dataset:
$$
V(t) = V_0 e^{-(t-t_0)/\tau} + V_\text{bias}
$$
where $t_0$ is not a free parameter but something you choose, like one second.  This choice lets you test whether your $V_0$ is good or not, by looking at a small region around $t_0$ and checking whether your data passes through the best-fit prediction for $V(t_0) = V_0 + V_\text{bias}$. This kind of offset also makes it easier to use the same fit if you decide there is some transient at the beginning and you try throwing away your first quarter-second of data.
If your fitting tool won’t do multiparameter fits, it might cost you less time to do it by hand than to switch tools.  Guess a $V_0$ like you already did, then plot chi-squared versus $V_\text{bias}$ for a few values, and pick a good minimum.  With your good $V_\text{bias}$, plot chi-squared versus $V_0$ for a few guesses, and pick a minimum for that parameter.  Repeat until you’re satisfied with the fit.
You are specifically asking about computing the uncertainty on the capacitance. In a multiparameter fit, uncertainties get complicated. If your data are well-behaved enough that a one-sigma error bound is “the same as” a 68% confidence interval, then a similar confidence interval will form a ellipsoid in your multiparameter space.  Your one-dimensional confidence intervals are like taking slices of this ellipsoid — which I think is what you describe in the comments where you can “trade uncertainty” between $V_0$ and $\tau$.
A: The key to your answer lies here:

I noticed that, the more points I take, the smaller the covariance matrix values. I noticed that my standard deviation was 0.1% of my actual value (if I take all the points).

and in understanding what a fit actually does. Suppose our fit model reads $y_i = a x_i + b + \epsilon_i$, where $a$ and $b$ are our fit-parameters, $x$ is the predictor variable, $y$ is the response variable, and $\epsilon_i\sim N(0,\sigma)$ is a random error. Now, the standard deviation of the "best fit parameter" tells us something about the average value $E[y_i|x_i]$ and not about the spread $Sd[y_i|x_i]$ of the individual values $y_i$. Also, it does not tell us something about the quality/accuracy of the fit. Therefore, if we keep on adding more points $(x_i,y_i)$ to the dataset, we gain more and more confidence that the obtained fit values is best assuming that the model is correct.
This fact can be best shown by using simulations. The following plot shows two separates  fits to two datasets. However, the two datasets are constructed such that they have the same average value on every predictor variable $x_i$, but the red dataset has a five times larger standard deviation.

The resulting linear regression looks like this:
Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 17.1172590  0.2131045  80.323   <2e-16 ***
x            2.9917064  0.0749545  39.914   <2e-16 ***
grp5        -0.0007571  0.1435269  -0.005    0.996    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.209 on 1997 degrees of freedom
Multiple R-squared:  0.4437,    Adjusted R-squared:  0.4432 
F-statistic: 796.5 on 2 and 1997 DF,  p-value: < 2.2e-16

The "grp5" estimate tells us that there is no stat. significance difference in the fit parameter between the two datasets.
Therefore, to judge your fit you have to look either at predictive intervals (instead of confidence intervals), or you use such metrics a $R^2$.
So, what I recommend doing is to use a quadratic relationship and fitting a linear regression line, such like this:

Play with the number of datapoints and check the standard deviation of the fit-parameters ;)
A: The other answers seem to have the statistical uncertainty ("Type A") covered. But the uncertainty in your extraction of $C$ will be larger than this due to systematic uncertainty ("Type B"). NIST has a good reference on this.
It's possible your Type B uncertainty will actually dominate your measurement because you can collect so much data that the Type A uncertainty is quite small (<0.1 %). For example, clearly your measurement of $C$ will only be as good as your knowledge of $R$. For the Type B uncertainty due to the value of $R$ to be insignificant, you'd probably need to know $R$ to at worst 100 parts per million (ppm, i.e. 1 part in $10^{-4}$). What is your uncertainty in $R$?
If you want an accurate overall estimate of uncertainty, you need to think about all the possible sources, including uncertainty in $R$, your oscilloscope's timebase accuracy, your oscilloscope's temperature stability, stray capacitance in your circuit, stray resistance in your capacitor, etc.
